R - Shiny - 当我使用tablePanel时,不会显示地图

时间:2017-11-21 14:16:56

标签: r shiny

我的ui.R是:

library(shiny)
library(leaflet)

navbarPage("POC IoT",

  tabPanel("Carte Géolocalisation",

    #tags$style(type = "text/css", "html, body {width:100%;height:100%}"),
    leafletOutput("map", width = "100%", height = "100%")    

  ),

  tabPanel("Carte Trajet"),

  tabPanel("Données")

)

我的服务器.R是:

library(shiny)
library(leaflet) 
source("load_data.R")

data <- load_data_moment()

function(input, output, session) {

  output$map <- renderLeaflet({

    leaflet(data) %>% 
      addTiles() %>%
      addMarkers(~long, ~lat,clusterOptions = markerClusterOptions(),popup = ~paste(remorque))

  })

}

当我使用没有tabPanel的代码时,它有效,我有一张地图。 当我添加tabPanel时,我有导航栏但是地图没有显示。

1 个答案:

答案 0 :(得分:3)

您的问题是height = "100%"中的leafletOutput参数。因为目前这是100%没有任何东西。

删除此内容或将其从%更改为px或将style = "height:500px;"作为参数添加到包含此地图的tabPanel中。

navbarPage("POC IoT",
           tabPanel("tab1",

                    #tags$style(type = "text/css", "html, body {width:100%;height:100%}"),
                    style = "height:92vh;",
                    leafletOutput("map", width = "100%", height = "100%")    

           ),
           tabPanel("Carte Trajet",
                    uiOutput("some1")),
           tabPanel("Données",
                    uiOutput("some12"))       

)

92vh是一个css单位,意味着或多或少92%的屏幕,这是在取消标题空间后留下的。 希望这有帮助!