誰かがこれを将来見ている場合は、新しい実行可能な方法があります。
あなたが開発を使用している場合は、/ leaflet
パッケージのGithubのバージョンは、addLegend()
は今group
とlayerId
引数をサポートしています。
(インストールするコマンドを実行してdevtools::install_github('rstudio/leaflet')
)
でも最新CRANのバージョン(1.1.0)layerID
をサポートしています。
あなたは開発バージョンで行くと仮定すると、次のコードは動作するはずです:
leaflet() %>%
#Polygon Layers
addPolygons(data = exampleDataOne, group = "Group A") %>%
addPolygons(data = exampleDataTwo, group = "Group B") %>%
#Legend Layers
addLegend(values = exampleValuesOne, group = "Group A",
position = "bottomright") %>%
addLegend(values = exampleValuesTwo, group = "Group B",
position = "bottomright") %>%
#Layers Control
addLayersControl(overlayGroups = c("Group A","Group B"),
options = layersControlOptions(collapsed = FALSE))
これは、対応する層がアクティブなときのみ、凡例を表示する所望の効果を持っている必要があります。
1つの潜在的な問題は、デフォルトですべてleaflet
層がアクティブであることです。ポリゴンが重なっていると、視覚的に魅力的でないマップになることがあります。また、複数の伝説がある場合は、これも問題になります。
あなたができることは、hideGroup()
機能を使用することです。
あなたは開始時にのみGroup A
アクティブ上記の例からを持っていると思った場合は、上記のコードブロックの末尾に
%>% hideGroup("Group B")
を追加することができます。
良い解決策ですが、addLayersControlの 'overlayGroups'オプションではうまくいかないようです。 – Bastien