我想使用傳單制作地圖,以便地圖中的點有彈出式注釋。每個彈出視窗都有一個可點擊的鏈接以重定向到 Internet 頁面。將在此類彈出視窗中插入的 URL 位于我的資料框的一列中,該列有數千行。一些玩具資料:
place <- c("a", "b", "c", "d", "e", "f")
thing <- c("potato","melon","black pepper", "bigfoot","black panther", "orchidaceae")
lat <- c(-17.456, 31.4009, 24.293, -8.956, 8.697, -25.257)
long <- c(-63.658,-111.144,-106.759,-81.029,-83.2052,-52.026)
urls <- c("https://en.wikipedia.org/wiki/Potato",
"https://en.wikipedia.org/wiki/Melon",
"https://en.wikipedia.org/wiki/Black_pepper",
"https://en.wikipedia.org/wiki/Bigfoot",
"https://en.wikipedia.org/wiki/Black_panther",
"https://en.wikipedia.org/wiki/Orchidaceae")
d <- data.frame(place, thing, lat, long, urls)
這是我一直試圖用來繪制地圖的代碼:
library(leaflet)
library(tidyverse)
content <- paste("The", thing,
"occurs near.You can find some information",
"<b><a href=d$urls>here</a></b>")
mymap <- d %>%
leaflet() %>%
addProviderTiles(providers$Esri.WorldImagery, group = "World Imagery") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Toner Lite") %>%
addLayersControl(baseGroups =
c("Toner Lite", "World Imagery")) %>%
addMarkers(label = thing,
popup = content,
icon = ~ icons(iconUrl = "marker_red.png",
iconWidth = 28, iconHeight = 24))%>%
addMiniMap(
toggleDisplay = TRUE,
tiles = providers$Stamen.TonerLite
) %>%
print()
問題是彈出視窗中的“here”這個詞有點可點擊,但不會將我重定向到任何網頁。在這種 URL 包含在我的資料框的列中的情況下,我不知道該怎么做。此外,我沒有使用 HTML 物件的經驗。誰能幫我想辦法將這些 URL 傳遞到彈出式注釋中?
提前致謝!
uj5u.com熱心網友回復:
問題出href=d$urls在內容中,d$urls被指定為 URL 而實際的 URL 并未在此處參考。可以使用paste0函式解決。
內容應該是
content <- paste("The", thing,
"occurs near.You can find some information",
paste0("<b><a href=",d$urls, ">here</a></b>"))
mymap <- d %>%
leaflet() %>%
addProviderTiles(providers$Esri.WorldImagery, group = "World Imagery") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Toner Lite") %>%
addLayersControl(baseGroups =
c("Toner Lite", "World Imagery")) %>%
addMarkers(label = thing,
popup = content,
icon = ~ icons(iconUrl = "marker_red.png",
iconWidth = 28, iconHeight = 24))%>%
addMiniMap(
toggleDisplay = TRUE,
tiles = providers$Stamen.TonerLite
) %>%
print()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/360951.html
