从leafletProxy()返回渲染的传单地图

时间:2018-07-14 02:34:22

标签: r shiny r-leaflet

是否已经可以在Shiny中检索传单地图?

下面是代码中的一个示例,该示例显示了leaflet()生成的地图与leafletProxy()返回的地图有何不同,即使它们在渲染时看起来完全一样。有没有可能与leafletProxy()不同的函数来获取实际的htmlwidget对象?

library(shiny)
library(leaflet)

m1 <- leaflet() %>% addTiles()

shinyApp(
  ui = fluidPage(
    textOutput("test"),
    br(),
    leafletOutput("mymap")
  ),
  server = function(input, output, session) {
    output$mymap <- renderLeaflet({
      leaflet() %>% addTiles()
    })
    output$test <- renderText({
      sprintf("Are the two maps the same?: %s", 
              identical(m1, leafletProxy("mymap")))
    })
  }
)

原因:我想要实际渲染的对象的原因是,我有一个Shiny应用程序,其中的地图使用leafletProxy()进行了多次更新,然后需要将其下载到一个HTML文件。问题是saveWidgetwebshotmapshot,其他功能需要实际的地图对象,而不是代理版本才能保存。这个问题已经以几种不同的方式多次发布,但是唯一可行的解​​决方案是并排创建两个地图:一个是通过leafletProxy()更新的,另一个是直接建立在对{ {1}}。我宁愿不维护两个不同的地图。

潜在的重复问题

免责声明 我将此问题作为问题交叉发布到 manipulateWidget 包中,因为这似乎是最有希望的区域,可以在Shiny中检索已渲染的对象。 https://github.com/rte-antares-rpackage/manipulateWidget/issues/59

0 个答案:

没有答案