最近,当我在一个闪亮的 Jmeter 板上工作时,我遇到了一个问题,即Leaflet map不能(似乎)正确地与bs4Dash box一起工作。似乎在最大化盒子后,活页Map没有更新以反映新的容器宽度。
Map after maximizing the box
我认为这是一个类似的问题:rstudio/leaflet#248 .尝试了Joe Cheng提供的解决方案,但无法使其工作(不幸的是,我不擅长JavaScript)。在最大化盒子后,有没有什么解决方法可以让Map全屏渲染?
可重复的示例:
library(shiny)
library(bs4Dash)
library(leaflet)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
box(
title = "Map",
collapsible = TRUE,
height = "80vh",
width = 6,
maximizable = TRUE,
leafletOutput("map1", height = "100%")
)
)
)
server <- function(input, output, session) {
output$map1 <- renderLeaflet({
leaflet() %>%
setView(19.08, 60.25, zoom = 4) %>%
addTiles()
})
}
shinyApp(ui, server)
1条答案
按热度按时间wswtfjt71#
您可以为框定义
id
,然后在服务器端定义updateBox
来更改宽度。试试这个