我正在尝试使用rCharts学习Leaflet功能,并希望在data.frame
R
对象获取的多个标记和弹出窗口
df <- data.frame(location = c("White House", "Impound Lot", "Bush Garden", "Rayburn", "Robertson House", "Beers Elementary"), latitude = c(38.89710, 38.81289, 38.94178, 38.8867787, 38.9053894, 38.86466), longitude = c(-77.036545, -77.0171983, -77.073311, -77.0105317, -77.0616441, -76.95554))
df
location latitude longitude
1 White House 38.89710 -77.03655
2 Impound Lot 38.81289 -77.01720
3 Bush Garden 38.94178 -77.07331
4 Rayburn 38.88678 -77.01053
5 Robertson House 38.90539 -77.06164
6 Beers Elementary 38.86466 -76.95554
我尝试修改Ramnanth's rCharts page上示例中的代码。这是我的修改:
map <- Leaflet$new()
map$setView(c(38.89710, -77.03655), 12)
map$tileLayer(provider = 'Stamen.TonerLite')
map$marker(c(df$latitude, df$longitude), bindPopup = df$location)
此代码不会生成任何标记。我正在寻找一种解决方案,我可以为每次观察绘制lat和lon,并有一个带有弹出窗口的标记,填充位置列中的值。
答案 0 :(得分:3)
这不起作用,因为df $ latitude返回一个包含数据帧所有纬度的向量:
df$latitude
## [1] 38.89710 38.81289 38.94178 38.88678 38.90539 38.86466
df$longitude
##b[1] -77.03655 -77.01720 -77.07331 -77.01053 -77.06164 -76.95554
您需要在循环中添加标记:
for (i in 1:nrow(df)) {
map$marker(c(df[i, "latitude"], df[i, "longitude"]), bindPopup = df[i, "location"])
}
注意:快速,徒手,刚开始使用R并且暂时无法对此进行测试。