Показывать только легенду о многоугольнике, выбранном с layerControl baseGroup Leaflet R - PullRequest
0 голосов
/ 31 октября 2018

У меня есть листовка в R, которая содержит восемь разных слоев, я хочу, чтобы пользователь мог выбрать только один слой за один раз. Вот почему я использую опцию addLayersControl (baseGroups ()), которая дает возможность выбора переключателя.

Поскольку у меня восемь легенд, я изо всех сил пытаюсь показать только легенду выбранного слоя. Я выяснил, как это сделать с 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")

Есть предложения, как отображать легенду только при выборе слоя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...