inst/examples/side_by_side_app.R

library(shiny)
library(leaflet)
library(leaflet.extras2)

ui <- fluidPage(
  leafletOutput("map"),
  actionButton("removeSidebyside", "removeSidebyside")
)

server <- function(input, output, session) {
  output$map <- renderLeaflet({
    leaflet(quakes) %>%
      addMapPane("left", zIndex = 0) %>%
      addMapPane("right", zIndex = 0) %>%
      addTiles(group = "base", layerId = "baseid",
               options = pathOptions(pane = "right")) %>%
      addProviderTiles(providers$CartoDB.DarkMatter,
                       group="carto", layerId = "cartoid",
                       options = pathOptions(pane = "left")) %>%
      addCircleMarkers(data = breweries91[1:15,],
                       color = "blue", group = "blue",
                       options = pathOptions(pane = "left")) %>%
      addCircleMarkers(data = breweries91[15:20,],
                       color = "yellow", group = "yellow") %>%
      addCircleMarkers(data = breweries91[15:30,],
                       color = "red", group = "red",
                       options = pathOptions(pane = "right")) %>%
      addLayersControl(overlayGroups = c("blue","red", "yellow")) %>%
      addSidebyside(layerId = "sidecontrols",
                    rightId = "baseid",
                    leftId = "opencycle")
  })
  observeEvent(input$removeSidebyside, {
    leafletProxy("map") %>%
      removeSidebyside("sidecontrols")
  })
}

shinyApp(ui, server)

Try the leaflet.extras2 package in your browser

Any scripts or data that you put into this service are public.

leaflet.extras2 documentation built on Aug. 21, 2023, 5:08 p.m.