我希望在reactable表格的一列中包含地图,每个地图将占据表格内的一个单元格。类似于这样:
我已经尝试了以下方法:
library(shiny)
library(reactable)
library(leaflet)
ui <- fluidPage(
mainPanel(
reactableOutput("table")
)
)
server <- function(input, output, session) {
df_aus <- data.frame(country = "australia",
latitude = -35.31,
longitude = 149.13)
df_belg <- data.frame(country = "belgium",
latitude = 50.83,
longitude = 4.33)
map_aus = leaflet(df_aus) %>%
addProviderTiles("CartoDB.Positron")%>%
addMarkers(
label = ~ country,
layerId = ~ country
)
map_belg = leaflet(df_belg) %>%
addProviderTiles("CartoDB.Positron")%>%
addMarkers(
label = ~ country,
layerId = ~ country
)
df <- data.frame(country = c("australia","belgium"),
values = c(10, 20),
map = c(map_aus,map_belg))
output$table <- renderReactable({
reactable(df)
})
}
shinyApp(ui, server)
然而,尽管这两个地图都能用,但是这条命令返回了一个错误。我在想,也许我需要在列中包含一个 renderLeaflet()
,但我不确定应该放在哪里。
我还尝试过像这样添加renderLeaflet()
:但它也没有起作用。
df <- data.frame(country = c("australia","belgium"),
values = c(10, 20),
map = c(leafletOutput('map_1'), leafletOutput('map_2'))
)
output$map_1 <- renderLeaflet(map_aus)
output$map_2 <- renderLeaflet(map_belg)