簡體   English   中英

在傳單中循環

[英]loop over in leaflet

我在下面有一個代碼,我想按每個集群forloop overlayGroup組。 提前謝謝了。 在此處輸入圖像描述

library(dplyr); library(leaflet); library(raster);library(htmltools)
cluster <- c("1st.C", "2nd.C", "3rd.C")
lat     <- c(40.8518, 42.6611, 37.3089)
long    <- c(14.2681, 13.6987, 13.5858)
data <- data.frame(cluster, lat, long); data
adm <- raster::getData('GADM', country= "italy" , level=1) 



map_layers <- function() {
  
  #number of groups
  k <- n_distinct(data$cluster) 
  
  #base map
  map <- leaflet() %>%
    addProviderTiles(providers$CartoDB.Positron)
  
  #loop through all groups and add a layer one at a time
  for (i in  1:k) {
    map <- map %>% 
      addCircleMarkers(
        data = data %>% filter(cluster == i), group = as.character(i),
        radius = 3, lng = ~long, lat = ~lat
      )
  }
  
  #create layer control
  map %>% 
    addLayersControl(
      overlayGroups = c(1:k),
      options = layersControlOptions(collapsed = FALSE)) %>% 
    hideGroup(as.character(c(2:k))) #hide all groups except the 1st one
  
}

#plot the map
map_layers()

我認為這就是您要實現的目標:

leaflet() %>%
  addProviderTiles(providers$CartoDB.Positron) %>% 
  addCircleMarkers(data = data, 
                   radius = 3, lng = ~long, lat = ~lat, group = cluster) %>% 
  addLayersControl(overlayGroups = cluster,
                   options = layersControlOptions(collapsed = FALSE)) %>% 
  hideGroup(group = data$cluster[2:3])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM