【发布时间】:2017-11-16 09:54:38
【问题描述】:
对于我目前正在进行的项目,我正在尝试将多个标记层添加到 Leaflet 地图,以便最终用户可以选择他或她想要查看的标记。由于总共有很多标记,我还想将它们聚集在一起达到一定的缩放级别。然而,问题是,当我将我的标记划分为几个图层组时,它们都是单独聚集的。
具体来说,当我将标记绘制为一个图层组时,在对 addMarkers 的调用中使用 clusterOptions 时,聚类会按照我的意愿工作。当我为我的制造商使用多个图层组以便让最终用户选择他/她想要查看的标记时,在每个图层组中都会创建集群,而我希望它们都聚集在一起。
为了使这更具体,我想出了以下可重现的示例:
# Library
library(leaflet)
library(dplyr)
# Data
df <- quakes
# Plot
leaflet(df) %>%
setView(lng=181.462, lat=-23.64275, zoom=4) %>%
addProviderTiles("Stamen.Terrain") %>%
addCircleMarkers(~long, ~lat, weight=2, color="Red", radius=2,
data=filter(df, mag>=4 & mag<5),
clusterOptions=markerClusterOptions(disableClusteringAtZoom=6),
group="Magnitude between 4 and 5") %>%
addCircleMarkers(~long, ~lat, weight=2, color="Blue", radius=2,
data=filter(df, mag>=5 & mag<6),
clusterOptions=markerClusterOptions(disableClusteringAtZoom=6),
group="Magnitude between 5 and 6")%>%
addLayersControl(
overlayGroups=c("Magnitude between 4 and 5", "Magnitude between 5 and 6"),
options=layersControlOptions(collapsed=FALSE)
)
如果您在 R 中运行此代码,您将获得一张显示斐济附近地震的地图。我添加了两个图层组来显示不同震级的地震:一组震级在 4 到 5 之间,另一组震级在 5 到 6 之间。我还添加了集群,因此地图不会被标记淹没,但类似于我在工作,为每个单独的图层组制作集群。这会导致可以彼此相邻的单独集群,而我希望将它们放在一个集群中。
所以归结为我希望将所有标记(来自多个图层组)放在同一个集群组中,因此它们都聚集在一起,而不是为每个图层组单独集群。换句话说,我想为最终用户选项保留多个标记组,但我希望所有这些标记组都在同一个集群组中,因此在选择时它们会聚集在一起。
任何帮助将不胜感激!
【问题讨论】: