我正在使用一些数据在某些地方生成带有标记的地图,并使用弹出功能输出多个值.
我得到的数据来自sql,以下是代码:
con <- odbcConnect("data", uid = "user", pwd = "password")
area <- sqlQuery(con, "EXEC sp")
Run Code Online (Sandbox Code Playgroud)
区域变量包含11行和6列.6列是:Region(文本),Employed(整数),Retired(整数),used(整数),Longitude(整数)和Latitude(整数).
我使用经度和纬度使用传单库在地图上制作点.当用户点击地图上受尊重的点时,我希望将其他人显示为弹出窗口.
我如何用每个点的弹出窗口生成地图和点的代码.
m <- leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=area$Longitude, lat=area$Latitude, popup=area$Region)
Run Code Online (Sandbox Code Playgroud)
上面的函数工作,并在地图上显示具有正确区域名称的弹出输出.但是如果我尝试将弹出窗口更改为多个列,则会显示带有点的地图,但是当我点击它时它不响应我.
有人可以告诉我如何在弹出窗口中输出多个值.
这样的事情:
m <- leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=area$Longitude, lat=area$Latitude, popup=c(area$Region, area$Employed, area$Retired, area$Unemployed))
Run Code Online (Sandbox Code Playgroud)
注意:当我点击该点时,我希望弹出窗口显示如下:
Region Name
Employed: 559
Retired: 400
Unemployed: 300
Run Code Online (Sandbox Code Playgroud)
如果你不明白我的意思,请问一个问题,因为我仍然掌握了R的知识.
我在rstudio上这样做
djh*_*rio 25
你应该使用paste()而不是c().您可以使用HTML换行符来获取多行.试试这个未经测试的代码:
m <- leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng = area$Longitude, lat = area$Latitude,
popup = paste("Region", area$Region, "<br>",
"Employed:", area$Employed, "<br>",
"Retired:", area$Retired, "<br>",
"Unemployed:", area$Unemployed))
Run Code Online (Sandbox Code Playgroud)