Leaflet & Shiny: я могу рендерить Leaflet только внутри div (class = "external") - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть две вкладки tabPanel, каждая из которых содержит одну карту Leaflet. Первый отображается отлично. Он имеет полноэкранную карту листовки.

 tabPanel("Interactive map",
    div(class="outer",    
      tags$head(
        # Include our custom CSS
        includeCSS("styles.css"),
        includeScript("gomap.js")
      ),          
      leafletOutput("map", width="100%", height="100%")  

Однако вторая вкладка не может отображать карту листовки. Область карты полностью пуста. В отличие от первой вкладки, она не предназначена для полноэкранной карты. Он должен быть рядом с набором элементов управления вводом:

tabPanel("Scores",
           tags$head(
             # Include our custom CSS
             includeCSS("styles.css"),
             includeScript("gomap.js")
           ),           
      leafletOutput("map2"),

Вторая вкладка полна элементов управления, которые мне нужны для создания содержимого карты. Это отлично работает. Если я отобразлю эту карту на третьей вкладке, в полноэкранном режиме (точно так же, как на первой вкладке), карта отобразится нормально. Но мне нужна эта карта на этой второй вкладке рядом с элементами управления вводом.

Я попытался установить ширину и высоту во всех видах комбинаций,%, пиксели, абсолютные числа, vh и т. Д. Ничего не работает. Я попытался поместить карту листовок в FluidRow, хорошо, Панель. Тоже не сработало.

Все элементы управления вводом, о которых я упоминаю, находятся внутри жидкости, столбцов и тому подобного. Они работают нормально, просто область карты, независимо от того, как я ее установил, полностью пуста.

Помощь с благодарностью!

...