使用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
非常新,非常感谢任何帮助!
答案 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
})