为多个点添加不同的弹出iframe

Adding different pop-up iframes to multiple points

我正在使用以下 mapview R 包构建地图 this tutorial。使用 popup=popupImage(images,src = "remote") 向每个点添加不同的图像效果很好。

问题出在 iframe 弹出窗口上。

使用popup = mapview:::popupIframe("https://www.youtube.com/embed/iApz08Bh53w?autoplay=1", width = 300, height = 225)的示例仅针对单个点。如果我组合多个 iframe 视频链接(与图像链接显示的方式相同),则会向每个点添加 ALL video iframe

如何为每个点添加不同 iframe?

下面是如何完成此操作的示例。

library(mapview)

# some example points
pts = breweries[1:2, ]

# some urls - note this cannot be a named list, javascript does not like names!
urls = list(
  "https://www.youtube.com/embed/iApz08Bh53w?autoplay=1",
  "https://www.youtube.com/embed/KEkrWRHCDQU?autoplay=1"
)

# create the popups
pop = lapply(urls, mapview:::popupIframe)

# et voila
mapview(pts, popup = pop)

popupIframe 函数当前未向量化,因此我们需要使用 lapply 在列表中创建弹出对象。