我使用leaflet.extras::addBingMaps()绘制了一些必应地图块,以可视化中国中的一个区域,然后尝试使用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用户的帮助。
发布于 2019-11-27 10:33:46
感谢@TimSalabim,他让我注意到mapview::mapshot()也接受传递给webshot::webshot()的delay参数。这将允许额外的等待时间来呈现所有的地图元素在截图之前-问题解决了!
https://stackoverflow.com/questions/59057324
复制相似问题