我正在尝试使用observeEvent()
将Mapview的x
参数更改为新数据。我通常只使用clearShapes()
,然后使用addPolygons()
,但需要zcol
等参数。
我想做一些类似于以下的事情:
server <- function(input, output) {
output$DisplayMap <- renderLeaflet(
mapview(first_data, zcol = coolCol, color = brewer.pal(12, "Set3") %>%
addControl(actionButton("Next", ">"), position = "topright")
)
observeEvent(input$Next, {
output$DisplayMap$x <- next_data # This doesn't work
})
}
我意识到有两个问题在起作用(一个更改变量的接口和一种方法(,其中一个可能需要以某种形式或另一种进行React
我认为这样修改输出是不可能的(但事实上,使用MRE会更容易(。
你应该考虑这样的事情:
server <- function(input, output) {
my_data <- reactiveVal(data.frame(a = 1, b = 2))
output$DisplayMap <- renderLeaflet(
mapview(my_data()[[input$Next]], zcol = coolCol, color = brewer.pal(12, "Set3") %>%
addControl(actionButton("Next", ">"), position = "topright")
)
}
假设input$Next
是用户可以在GUI中选择的列的名称。这只是向你展示一个想法。如果你仍然需要帮助,请发送MRE,我可以编辑这个答案。