如何解决当更多层添加到传单地图时表格消失
我创建了一个带有 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 举报,一经查实,本站将立刻删除。