使用leaflet库输出多个弹出值

Fai*_*yed 8 r rstudio

我正在使用一些数据在某些地方生成带有标记的地图,并使用弹出功能输出多个值.

我得到的数据来自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)