0
リーフレットを使用するときに、overlayGroupを使用してマップ上に非表示または表示するレイヤーを制御する方法を示す例があります。しかし、レイヤーを隠すように設定しても、シェイプファイルをロードして追加する必要があります。私はかなり大きいシェイプファイルを持っているので、そのグループをクリックした場合にだけ追加するようにしたい。これを実行している場合たとえば、次の例を考え、リーフレット/光沢のあるグループをクリックしたときにポリゴンを追加する方法
library(shiny)
ui <- fluidPage(leafletOutput("map"))
server <- function(input, output) {
outline <- quakes[chull(quakes$long, quakes$lat),]
output$map <- renderLeaflet({
leaflet(quakes) %>%
# Base groups
addTiles(group = "OSM (default)") %>%
addProviderTiles("Stamen.Toner", group = "Toner") %>%
addProviderTiles("Stamen.TonerLite", group = "Toner Lite") %>%
# Overlay groups
addCircles(~long, ~lat, ~10^mag/5, stroke = F, group = "Quakes") %>%
addPolygons(data = outline, lng = ~long, lat = ~lat,
fill = F, weight = 2, color = "#FFFFCC", group = "Outline") %>%
hideGroup("Outline") %>%
hideGroup("Quakes") %>%
# Layers control
addLayersControl(
baseGroups = c("OSM (default)", "Toner", "Toner Lite"),
overlayGroups = c("Quakes", "Outline"),
options = layersControlOptions(collapsed = FALSE))
})
}
shinyApp(ui = ui, server = server)
、それは「マップ」してから私の理解にそれらを非表示にするには、すべてのレイヤーを追加します。私はこの外にaddPolygonsを移動する方法を知りたいので、layercontrolの "Outline"をクリックすると反応します。
。私はチェックボックスを使用したくない、私はoverlayGroupsのボックスをチェックすることでそれを制御できる方法があるかどうか疑問に思っていた。 – newbie
あなたのソリューションは間違いなく正しい方法です。 – HubertL