【问题标题】:Backdrop map tiles missing in R Leaflet .png outputR Leaflet .png 输出中缺少背景地图图块
【发布时间】: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()的论据。

标签: r leaflet png


【解决方案1】:

感谢@TimSalabim,他让我注意到mapview::mapshot() 也接受传递给webshot::webshot()delay 参数。这将允许在截屏之前渲染所有地图元素的额外等待时间——问题解决了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多