我在R中有一个包含八个不同图层的传单地图,我希望用户一次只能选择一个图层。这就是为什么我使用addLayersControl(baseGroups())选项,该选项提供了“单选按钮”选择控件。
由于我获得了8个图例,因此我一直在努力仅显示所选图层的图例。我想出了如何使用overlayGroups做到这一点,但还没有使用baseGroups做到这一点。
这是一个可复制的示例:
library(RColorBrewer)
library(dplyr)
library(leaflet)
factpal <- colorFactor(brewer.pal(n = 11, name ="Spectral") , gadmCHE$NAME_1)
factpal2 <- colorFactor(brewer.pal(n = 11, name ="Spectral") , gadmCHE$HASC_1)
leaflet() %>%
addProviderTiles("OpenStreetMap.BlackAndWhite", options = providerTileOptions(opacity = 1)) %>%
addPolygons(
data = gadmCHE,
stroke = TRUE, fillOpacity = 0.5, smoothFactor = 0.5,
color = "black", opacity = 1,
group = "NAME_1",
fillColor = ~factpal(gadmCHE$NAME_1)) %>%
addPolygons(
data = gadmCHE,
stroke = TRUE, fillOpacity = 0.5, smoothFactor = 0.5,
color = "black", opacity = 1,
group = "HASC_1",
fillColor = ~factpal(gadmCHE$HASC_1)) %>%
addLayersControl(baseGroups = c("NAME_1", "HASC_1"), options = layersControlOptions(collapsed = FALSE) ) %>%
addLegend(pal = factpal2,
values = gadmCHE$TYPE_1,
title = "HASC_1",
group = "HASC_1") %>%
addLegend(pal = factpal,
values = gadmCHE$NAME_1,
opacity = .5,
title = "NAME_1",
group = "NAME_1")
任何建议如何仅在选择图层时显示图例?