1

我将 mapdeck 与 shiny 结合使用来创建具有各种交互式数据过滤器的交互式地图。我想要包含的一个输入是一个可以打开/关闭某个数据层(公交车站)的输入。这是我在闪亮应用程序的服务器部分中针对此特定小部件的代码:

  observeEvent({input$stations} {
    if(input$stations == 0){
      mapdeck_update(map_id = "myMap") %>%
        clear_scatterplot(layer_id = "bus_stations")
        
    }  
    
    if(input$stations == 1){
      mapdeck_update(map_id = "myMap") %>%
        add_scatterplot(
          data = stations
          , layer_id = "bus_stations"
          , update_view = FALSE
        )
    }
  })

对于输入,值 0 表示应关闭站点图层,而值为 1 应保持站点图层打开。代码按原样工作,但是,我的问题是每次选择输入 0 时地图都会更新其视图,因为没有参数允许您在 clear_scatterplot 的参数中设置 update_view = FALSE。每当有人切换此输入时,我希望地图视图保持不变 - 有没有办法在 R 中使用 mapdeck 来做到这一点?

4

1 回答 1

1

各种函数从v0.3.5clear_()获取参数。截至今天(2021 年 6 月 4 日),这不在 CRAN 上,应该从 github 安装update_view

remotes::install_github("SymbolixAU/mapdeck")

安装 0.3.5 后,您现在可以调用

clear_scatterplot(layer_id = "bus_stations", update_view = FALSE)
于 2021-06-03T22:23:54.083 回答