diff --git a/howTo/shiny/example_leaflet_reactive.R b/howTo/shiny/example_leaflet_reactive.R new file mode 100644 index 0000000000000000000000000000000000000000..2312acb5e335224a4eba35b36565d81e876ab092 --- /dev/null +++ b/howTo/shiny/example_leaflet_reactive.R @@ -0,0 +1,50 @@ +library(shiny) +library(leaflet) +library(sf) + +# NC counties - a shapefile shipped with the sf package +shape <- sf::st_read(system.file("shape/nc.shp", + package ="sf"), + stringsAsFactors = F) + + +# Define UI +ui <- fluidPage( + + # Application title + titlePanel("Go Tar Heels!"), + + # Top panel with county name + verticalLayout( + + wellPanel(textOutput("cnty")), + + # the map itself + mainPanel( + leafletOutput("map") + ) + ) +) + +# Define server logic +server <- function(input, output) { + + output$map <- renderLeaflet({ + leaflet() %>% + addProviderTiles("Stamen.Toner") %>% + addPolygons(data = shape, + fillColor = "aliceblue", + color = "grey", + layerId = ~CNTY_ID) + }) + + # this is the fun part!!! :) + observe({ + event <- input$map_shape_click + output$cnty <- renderText(shape$NAME[shape$CNTY_ID == event$id]) + + }) +} + +# Run the application +shinyApp(ui = ui, server = server) \ No newline at end of file