inst/examples/shiny/proxy_mapbox/app.R

library(shiny)
library(plotly)

# get all the available mapbox styles
mapStyles <- schema()$layout$layoutAttributes$mapbox$style$values

ui <- fluidPage(
  selectInput("style", "Select a mapbox style", mapStyles),
  plotlyOutput("map")
)

server <- function(input, output, session) {
  
  output$map <- renderPlotly({
    plot_mapbox()
  })
  
  observeEvent(input$style, {
    plotlyProxy("map", session) %>%
      plotlyProxyInvoke(
        "relayout",
        list(mapbox = list(style = input$style))
      )
  })
  
}

shinyApp(ui, server)
ropensci/plotly documentation built on April 30, 2024, 11:59 a.m.