我正在尝试完成此处找到的 Ghybs Leaflet 示例的等效项,其中选择/取消选择覆盖组显示/隐藏组的标记并使用 R 的传单包相应地更新聚类。
这里有一个 R 的部分解决方案:
quakes <- quakes %>%
dplyr::mutate(mag.level = cut(mag,c(3,4,5,6),
labels = c('>3 & <=4', '>4 & <=5', '>5 & <=6')))
quakes.df <- split(quakes, quakes$mag.level)
l <- leaflet() %>% addTiles()
names(quakes.df) %>%
purrr::walk( function(df) {
l <<- l %>%
addMarkers(data=quakes.df[[df]],
lng=~long, lat=~lat,
label=~as.character(mag),
popup=~as.character(mag),
group = df,
clusterOptions = markerClusterOptions(removeOutsideVisibleBounds = F),
labelOptions = labelOptions(noHide = F,
direction = 'auto'))
})
l %>%
addLayersControl(
overlayGroups = names(quakes.df),
options = layersControlOptions(collapsed = FALSE)
)
此解决方案不会跨组对标记进行聚类,即使它们是邻近点。任何试图重新创建此解决方案的人都需要注意:您需要删除label=~as.character(mag),
和labelOptions = labelOptions(noHide = F, direction = 'auto')
才能运行代码。
如何在保持层控制的同时完成跨组聚类?