R 加载闪亮应用程序时强制更新输出
我正在使用传单和shinydashboard创建有多个菜单的闪亮应用程序,这些菜单存在R 加载闪亮应用程序时强制更新输出,r,shiny,leaflet,shinydashboard,R,Shiny,Leaflet,Shinydashboard,我正在使用传单和shinydashboard创建有多个菜单的闪亮应用程序,这些菜单存在leaftletProxy问题 这里我创建了一个最小的示例来显示我的问题() 在应用程序中,有两个侧栏菜单1)第一个菜单有一个链接单击我;2) 第二份菜单上有一张单张图。在第一页中单击click me后,将启用第二页,然后将传单映射的setView设置为随机位置 问题是,当第一次单击单击我并调用代理时,js控制台出现错误消息找不到id为map的map 我认为这个问题与Shining应用程序加载时未初始化传单地图
leaftletProxy
问题
这里我创建了一个最小的示例来显示我的问题()
在应用程序中,有两个侧栏菜单1)第一个菜单有一个链接单击我
;2) 第二份菜单上有一张单张图。在第一页中单击click me
后,将启用第二页,然后将传单映射的setView
设置为随机位置
问题是,当第一次单击单击我
并调用代理时,js控制台出现错误消息找不到id为map的map
我认为这个问题与Shining应用程序加载时未初始化传单地图有关。单击多次后,一切都按预期进行
所以我的问题是,当shiny应用程序加载时,如何强制shiny绘制传单地图
谢谢你的建议。你应该在你的回答中加入一个需要。例如:
need(input$button, "Click the button")
此处的文档:
或者,您可以在代理为NULL
时返回:
if (is.null(proxy)) {
return(NULL)
}
这里的问题是,创建传单映射的代码被挂起,而output$map
被隐藏
解决此问题的一种方法是使用:
outputOptions(output,"map",suspendWhenHidden=FALSE)
不幸的是,这似乎是错误的现在,但可以很快修复,它目前抛出了一个js错误()
由于output$summary
似乎是在renderleaft
之后运行的,因此可以在该块中使用setView
作为临时解决方案
output$summary <- renderPrint({
leafletProxy('map') %>% setView(runif(1) * 30 +2, runif(1) * 30 + 2, 7)
print(input$mydata)
print(leafletProxy('map')$id)
})
output$summary%setView(runif(1)*30+2,runif(1)*30+2,7)
打印(输入$mydata)
打印(传单代理('map')$id)
})
谢谢你的建议。你能举个完整的例子吗?