繁体   English   中英

在传单地图上绘制几个标记

[英]Plot severals markers on a leaflet map

嗨,我正在尝试学习如何在发亮的地方使用传单地图,我使用了以下示例:

http://glimmer.rstudio.com/jcheng/leaflet-demo/

这是代码库:

https://github.com/jcheng5/leaflet-shiny/blob/master/inst/example/

我想通过更换以取代标记圈addCircle按功能addMarker

实际的功能是:(Server.R的第98行)

map$addCircle(
  cities$Lat,
  cities$Long,
  sqrt(cities[[popCol()]]) * radiusFactor / max(5, input$map_zoom)^2,
  row.names(cities),
  list(
    weight=1.2,
    fill=TRUE,
    color='#4A9'
  )
)

我只是将其替换为:

map$addMarker(
  cities$Lat,
  cities$Long,
  row.names(cities)
)

但它只会将标记绘制在数据框的第一个城市上。 如果您在地图上随意移动和缩放,则可能会显示其他标记...

为什么addCircle为每个城市绘制一个圆圈,并且addMarker表现为“随机”?

如何在情节上一次绘制几个标记?
循环波纹管工作,但理想情况下,如果可能的话,我不想手动循环。

for(i in 1:nrow(cities)){
    map$addMarker(
      cities$Lat[i],
      cities$Long[i],
      i
    )
}

谢谢

我有同样的问题,这是因为您删除了半径。 通过查看函数createLeafletMap的代码,我们可以看到addCircle需要以下参数:

addCircle(lat, lng, radius, layerId = NULL, options=list(), eachOptions=list())

它真的需要半径。 要解决您的问题,只需写:

map$addMarker(
  cities$Lat,
  cities$Long,
  100,
  row.names(cities)
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM