无法使用 savewidget/webshot 在传单中对 Openstreetmap 进行快照
Posted
技术标签:
【中文标题】无法使用 savewidget/webshot 在传单中对 Openstreetmap 进行快照【英文标题】:Cannot snapshot Openstreetmap in leaflet using savewidget/webshot 【发布时间】:2017-10-31 09:26:16 【问题描述】:我需要使用传单中的 openstreet 地图制作用户定义地图的快照。我正在使用 saveWidget 保存一个 html 文件,然后使用 webshot 来拍摄该文件。它与 Esri.WorldStreetMap 等完美配合。但是,我无法使其与 Openstreetmap 一起使用。下面是一个最小的例子:
library(shiny)
library(leaflet)
library(webshot)
library(htmlwidgets)
ui <- fluidPage(
actionButton("button", "An action button")
)
server <- function(input, output, session)
observeEvent(input$button,
themap<-leaflet() %>%
addProviderTiles("Openstreetmap.Mapnik")%>%
setView(lng=174.768, lat=-36.852,zoom=14)%>%
addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")
saveWidget(themap, 'temp.html', selfcontained = T)
webshot('temp.html', file = "map.png",cliprect = viewport")
)
shinyApp(ui, server)
【问题讨论】:
【参考方案1】:稍作修改,您的代码就可以在我的 R 3.4.2 上运行:
ui <- fluidPage(
actionButton("button", "An action button")
)
server <- function(input, output, session)
observeEvent(input$button,
themap <- leaflet() %>%
addProviderTiles("OpenStreetMap.Mapnik") %>%
setView(lng=174.768, lat=-36.852,zoom=14) %>%
addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")
saveWidget(themap, 'temp.html', selfcontained = T)
webshot('temp.html', file = "map.png",cliprect = "viewport")
)
shinyApp(ui, server)
这是我得到的:
【讨论】:
问题在 R 3.4.2 下仍然存在(我之前使用的是 3.4.1.)。我在本地版本以及 Rstudio 服务器和闪亮服务器上遇到了同样的问题。我没有看到您提到的代码的细微修改。 谢谢。发帖时拼写错误。不幸的是我仍然遇到这个问题。 R 版本 3.4.2 (2017-09-28) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行条件:Windows 7 x64 (build 7601) Service Pack 1 Matrix 产品:默认语言环境:[1] LC_COLLATE=Danish_Denmark.1252 LC_CTYPE=Danish_Denmark.1252 LC_MONETARY=Danish_Denmark.1252 LC_NUMERIC=C [5] LC_TIME=Danish_Denmark.1252 .... 附加的基础包:[1] stats graphics grDevices utils datasets 方法基于其他附加包:[1] htmlwidgets_0.9 webshot_0.4.2 leaflet_1.1.0 shiny_1.0.5 通过命名空间加载(未附加) :[1] Rcpp_0.12.13 digest_0.6.12 mime_0.5 R6_2.2.2 xtable_1.8-2 jsonlite_1.5 magrittr_1.5 tools_3.4.2 [9] crosstalk_1.0.0 httpuv_1.3.5 yaml_2.1.14 rsconnect_0.8.5 compiler_3.4.2 htmltools_0。 3.6 1.上面修改后的代码对我有用。 2. 你的代码中有两个拼写错误:Openstreetmap -> OpenStreetmap, viewport" - "viewport"。你怎么会有拼写错误?那个代码是如何为你自己工作的?3.为什么你需要例如闪亮的部分?它没有意义。部分里面的脚本可以独立运行。以上是关于无法使用 savewidget/webshot 在传单中对 Openstreetmap 进行快照的主要内容,如果未能解决你的问题,请参考以下文章
请帮助我无法构建相同的这个小部件,我无法使用颤振代码在列表视图中构建容器
无法使用 react-testing-library 运行测试“无法在模块外使用 import 语句”错误