基本上我有一个包含数千条记录的 Shapefile,每个记录代表一个文档(PDF/TIF 文件)。我可以将 shapefile 子集到特定的感兴趣区域,然后我有一列用于指向该唯一文件的超链接记录。 我正在使用弹出功能,这样当我单击时,我会看到带有文件路径的框,但我无法让它显示为超链接。进行测试时,我可以成功添加网站的超链接,但我确实需要这些基于表中字段的超链接,例如BLR_25K$Hyperlink,只是不知道将字符串更改为文档的超链接。
请问有人可以帮忙吗?
m <- leaflet() %>%
addTiles() %>%
setView (lng=40.479, lat=52.179, zoom = 3) %>%
addPolygons(data = BLR_25K, color = "#0058cc", weight = 1, smoothFactor = 0.5, popup = "<a href = BLR_25K$Hyperlink>Product </a>", group = "Belarus 25K", label = lapply(BLR_25K$label, HTML)) %>%
enter code hereaddLayersControl(overlayGroups = c("Belarus 25K"),
options = layersControlOptions(collapsed = TRUE))
m
我认为在您的情况下,您想要使用
paste
添加来自 BLR_25K$Hyperlink
的超链接以及 popup
参数的标签。
例如,您可以尝试:
popup = paste0("<a href = '", BLR_25K$Hyperlink, "'>Product</a>")
这里有一个世界地图的完整演示来说明,归功于这个答案。这将包括每个国家/地区维基百科的弹出链接。
library(leaflet)
library(sf)
download.file(url = "http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip",
destfile = "TM_WORLD_BORDERS_SIMPL-0.3.zip")
unzip(zipfile = "TM_WORLD_BORDERS_SIMPL-0.3.zip")
world.borders <- read_sf(dsn = getwd(), layer = "TM_WORLD_BORDERS_SIMPL-0.3")
world.borders$wiki <- paste0("https://en.wikipedia.org/wiki/", world.borders$NAME)
leaflet() %>%
addTiles() %>%
setView(lng = 40.479, lat = 52.179, zoom = 3) %>%
addPolygons(data = world.borders,
color = "#0058cc",
weight = 1,
smoothFactor = 0.5,
popup = paste0(
"<b>Country: </b>"
, world.borders$NAME
, "<br>"
, "<a href='"
, world.borders$wiki
, "'>Click Here to View Wiki</a>"
),
label = ~NAME
)