在Shiny中添加Leaflet弹出窗口的超链接的方法

时间:2017-06-22 13:30:59

标签: r csv popup shiny leaflet

使用leaflet中的shiny制作互动地图。从CSV中提取弹出窗口的数据:

Row on CSV:
Name    lat          lng
Tufts   42.349598   -71.063541

R上的代码用于标记:

m %>% addMarkers(~lng, ~lat, icon = custommarker1 popup = ~htmlEscape(Name))

这会在正确的位置返回标记,弹出窗口显示“tufts

想知道是否有方法可以直接在CSV中将超链接编码到弹出窗口中?将纯文本作为新的CSV列放置并使用R / Shiny然后将其转换为超链接。

shiny / leaflet非常新,非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

只需将弹出窗口中的链接包含为html:

即可
output$mymap <- renderLeaflet({
m <- leaflet() %>%
  addTiles() %>%  # Add default OpenStreetMap map tiles
  addMarkers(lng=174.768, lat=-36.852, popup= '<a href = "https://rstudio.github.io/leaflet/"> R </a>')
m  # Print the map
})

您也可以将弹出窗口设置为数据框中的列。如果您的数据框名为df且包含longitude = long,则纬度=纬度,而urls = link:

output$mymap <- renderLeaflet({
m <- leaflet() %>%
addTiles() %>%  # Add default OpenStreetMap map tiles
addMarkers(lng=df$long, lat=df$lat, popup= df$link)
m  # Print the map

})