4

我正在尝试完成此处找到的 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')才能运行代码。

如何在保持层控制的同时完成跨组聚类?

4

0 回答 0