if(interactive()){
library(shiny)
library(toro)
ui <- fluidPage(
tagList(
mapOutput("map"),
checkboxInput("show_controls", "Show controls", value = TRUE)
)
)
server <- function(input, output, session) {
output$map <- renderMap({
map() |>
add_zoom_control() |>
add_custom_control(
id = "custom_control",
html = "I am a custom control"
)
})
observe({
req(input$map_loaded)
mapProxy("map") |>
toggle_control("zoom_control", show = input$show_controls) |>
toggle_control("custom_control", show = input$show_controls)
}) |>
bindEvent(input$show_controls)
}
}
Run the code above in your browser using DataLab