带有基于表格的超链接的 HTML 弹出窗口

问题描述 投票:0回答:1

基本上我有一个包含数千条记录的 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
r shapefile r-leaflet
1个回答
0
投票

我认为在您的情况下,您想要使用

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
              )
© www.soinside.com 2019 - 2024. All rights reserved.