【发布时间】:2020-03-22 05:59:20
【问题描述】:
我使用leaflet.extras::addBingMaps() 提取了一些 Bing 地图图块以可视化中国的一个区域,然后尝试使用 mapview::mapshot() 将地图保存为 .png 文件以包含在我的报告中:
library(leaflet)
library(leaflet.extras)
library(mapview)
leaflet() %>%
fitBounds(lng1 = 117.3, lat1 = 40.9, lng2 = 117.4, lat2 = 41.0) %>%
addBingTiles(
apikey = "REPLACE_WITH_YOUR_API_KEY",
imagerySet = "CanvasLight"
) %>%
addScaleBar(position = "bottomleft") %>%
mapshot(
file = "test.png",
remove_controls = c("zoomControl", "layersControl", "homeButton")
)
在保存的 .png 文件中,我发现丢失的图块:
但是,如果不输出为 .png 文件,则交互式传单地图会正确呈现。
不知道是不是因为addBingTiles() 超时了,但是在其文档中没有找到如何延长渲染所有图块的等待时间。在我写这个问题时,我发现其他一些人也有类似的问题,但在 R 中没有。因此,我非常感谢任何有经验的 R 用户的帮助。
【问题讨论】:
-
在
mapshot调用中尝试添加delay = 5以便在截取屏幕截图之前留出5 秒时间来渲染地图。或者根据互联网连接进一步增加。有关delay参数的文档,请参阅webshot::webshot。 -
非常感谢@TimSalabim - 它运行良好。看了
mapshot()的文档,希望能找到这样的论据,但没有注意到它也接受webshot()的论据。