是否已经可以在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文件。问题是saveWidget
,webshot
,mapshot
,其他功能需要实际的地图对象,而不是代理版本才能保存。这个问题已经以几种不同的方式多次发布,但是唯一可行的解决方案是并排创建两个地图:一个是通过leafletProxy()
更新的,另一个是直接建立在对{ {1}}。我宁愿不维护两个不同的地图。
潜在的重复问题
免责声明 我将此问题作为问题交叉发布到 manipulateWidget 包中,因为这似乎是最有希望的区域,可以在Shiny中检索已渲染的对象。 https://github.com/rte-antares-rpackage/manipulateWidget/issues/59