【问题标题】:R leaflet addmarkers argument value for popup弹出窗口的R传单addmarkers参数值
【发布时间】:2016-07-27 05:23:42
【问题描述】:
m <- leaflet() %>% 
addPolygons(data = SP) %>%
addTiles()
for(k in 1:nrow(rfcCleaned))
{
 lat = rfcCleaned$Latitude[k]
 long = rfcCleaned$Longitude[k]
 addMarkers(m, lng, lat, popup = as.character(k))  
}
m    

addMarkers 不打印任何弹出窗口。我什至尝试用 format(k) 代替 as.character(k))。对于以下代码,将按预期显示单个弹出窗口。我做错什么了吗?

m <- leaflet() %>%
addTiles() %>%  # Add default OpenStreetMap map tiles
addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")
m  # Print the map    

提前致谢

【问题讨论】:

  • 你有样本数据吗
  • @ PPC纬度18.73605 18.73605 18.73605 18.7465 18.7465 18.7465 18.7465 18.73209 18.73209 18.73209 73.53296经度73.53296 73.53296 73.6281 73.6281 73.6281 73.6281 73.63924 73.63924 73.63924可以预先使用该数据由于跨度>
  • 我已经这样做了,但是由于我的 stackoverflow 分数很低,所以我收到的消息是不可见的。

标签: r leaflet


【解决方案1】:

要添加标记,不需要在循环中绑定它们。您可以简单地将它们添加到瓷砖之后的管道命令中。

这是我用来显示标记的示例数据。

       id   slon   slat
        2 93.089 25.054
        3 93.038 24.939
        4 92.988 24.825
        5 92.937 24.710
        6 92.886 24.596
        7 92.835 24.482

R 查询

library(leaflet) ex1map<-leaflet() %>% addTiles() %>% addMarkers(ex1map, lat = ex1$slat,lng = ex1$slon,popup = as.character(ex1$id))

在下图中,我可以看到他们各自 id 的弹出窗口。

【讨论】:

  • 感谢@PPC,我猜 addmarkers 在 for 循环中不起作用。我忘记了 R 将每个变量都视为一个向量,这就是为什么使用 for 循环。
【解决方案2】:

如果您不想添加另一列 id,这里是另一种替代解决方案。

data ex2 有您在上述 cmets 中提供的记录。

ex2map &lt;- leaflet() %&gt;% addTiles() %&gt;% addMarkers(ex2, lat = ex2$Latitude,lng = ex2$Longitude,popup = as.character(1:nrow(ex2)))

注意:您的数据有重复记录,因此将显示最后找到的重复记录的弹出窗口

【讨论】:

    猜你喜欢
    • 2017-01-14
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多