R 从传单代理()返回渲染的传单贴图

R 从传单代理()返回渲染的传单贴图,r,shiny,r-leaflet,R,Shiny,R Leaflet,是否可以在已渲染的传单贴图中检索它 下面是代码中的一个示例,它显示了由传单()生成的贴图如何与从传单代理()返回的贴图不同,即使它们在渲染时看起来完全相同。是否有一个函数可能不同于proxy()来获取实际的htmlwidget对象 library(shiny) library(leaflet) m1 <- leaflet() %>% addTiles() shinyApp( ui = fluidPage( textOutput("test"), br(),

是否可以在已渲染的传单贴图中检索它

下面是代码中的一个示例,它显示了由
传单()
生成的贴图如何与从
传单代理()
返回的贴图不同,即使它们在渲染时看起来完全相同。是否有一个函数可能不同于
proxy()
来获取实际的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")))
    })
  }
)
库(闪亮)
图书馆(单张)
m1%addTiles()
shinyApp(
ui=fluidPage(
文本输出(“测试”),
br(),
传单输出(“mymap”)
),
服务器=功能(输入、输出、会话){
输出$mymap%addTiles()
})

输出$test谢谢这个问题,这正是我的问题。我已经考虑过维护第二个贴图,但我不知道如何将第一个贴图设置和代理修改复制到第二个贴图one@user670186如果要维护两个贴图,请按照上面的示例进行操作。无论何时使用Proxy更新渲染贴图,都必须对最初声明的未渲染贴图运行相同的代码。这将确保两个对象是相同的。谢谢,是的,我考虑过这一点,但是维护两张地图并不是最优雅的解决方案。相反,它所做的是创建R列表对象,并在应用代理之前将有关我的附加图层和绘图的所有信息存储在其中。然后我发现我可以在Rmarkdown中输出一个传单()对象。因此,我能够调用传单()并添加R列表对象中的所有图层和图形。这感觉更优雅,性能更高,用户体验更好。