当更多层添加到传单地图时表格消失

问题描述

我创建了一个带有 reactable 的交互式地图,用于在地图上显示点,反之亦然(用户可以使用左侧的按钮选择地图上的区域以过滤表格中的相应数据) .问题是,当我想添加 1 个以上的图层(另一个 addCircleMarkers)时,当我选择任何行时,整个表格都会消失。所以,这一切都适用于一层,不适用于超过 1 层。在这种情况下,是否可以添加其他层?

这是可重现的代码(请取消注释第 2 个 addCircleMarkers 层以查看消失的表):

library(crosstalk)
library(leaflet)
library(dplyr)
library(reactable)


ui <- fluidPage(
  
  sidebarLayout(
    sidebarPanel(
    ),mainPanel(
      tagList(
      leaflet::leafletoutput("map"),reactable::reactableOutput("table")             
              ))
  )
  
)

server <- function(input,output) {
  
  # data to render in a table
  data_all <- quakes %>%
    dplyr::select(depth,mag,stations) %>%
    crosstalk::SharedData$new(group = "volcano")
  
  
  # data to render on a map
  df_sf <- quakes %>%
    sf::st_as_sf(coords = c("long","lat"),crs = 4326)
  
  df_sf_ALL <- crosstalk::SharedData$new(df_sf,group = "volcano")
  
  df_less_20 <- quakes %>%
    dplyr::filter(stations<20) %>% 
    sf::st_as_sf(coords = c("long",crs = 4326) 
  
  df_more_20 <- quakes %>%
    dplyr::filter(stations>20) %>% 
    sf::st_as_sf(coords = c("long",crs = 4326) 
  
  df_sf_less_20 <- crosstalk::SharedData$new(df_less_20,group = "volcano")
  df_sf_more_20 <- crosstalk::SharedData$new(df_more_20,group = "volcano")
  


  output$map <- leaflet::renderLeaflet({
    leaflet::leaflet(df_sf_ALL) %>%
      leaflet::addTiles() %>%
      #leaflet::addCircleMarkers(data = df_sf_less_20,fillColor = "red",stroke = FALSE) %>% 
      leaflet::addCircleMarkers(data = df_sf_more_20,fillColor = "green",stroke = FALSE)
})

  output$table <- reactable::renderReactable({
    reactable::reactable(
    data_all,selection = "multiple",onClick = "select",rowStyle = list(cursor = "pointer"),minRows = 10
  )
  })
  
}

shinyApp(ui = ui,server = server)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)