Очистка данных при сохранении одного и того же представления в mapdeck/mapbox в R

#r #mapdeck

Вопрос:

Я использую 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, так как нет аргумента, позволяющего установить update_view = FALSE в параметрах для clear_scatterplot. Я хочу, чтобы представление карты оставалось постоянным всякий раз, когда кто — то переключает этот ввод-есть ли способ сделать это с помощью mapdeck в R?

Ответ №1:

Различные clear_() функции получают update_view аргумент из v0.3.5. На сегодняшний день (4 июня 2021 года) это не на CRAN и должно быть установлено с github

 remotes::install_github("SymbolixAU/mapdeck")
 

С установленным 0.3.5 теперь вы можете позвонить

 clear_scatterplot(layer_id = "bus_stations", update_view = FALSE)