Leafletoutput未显示在dashboardBody

时间:2019-05-17 12:43:35

标签: r leaflet shinydashboard

嗨,我正在使用Shinydashboard为某些栅格文件构建一些可视化效果。我正在使用leafletOutput显示地图。

在第一个tabItem下,它被称为“ KmeansOutput”,我想显示传单地图。当我不包含selectInput时,它将显示地图,但是一旦包含selectInput,它将不显示地图。我不确定哪一部分出错了。在此先感谢!

这是代码的UI部分:

library(shinydashboard)
library(leaflet)


sidebar <- dashboardSidebar(
    sidebarMenu(
        menuItem("KmeansOutput", tabName = "kmeans", icon = icon("kmeans"),
                 selectInput("run1",
                             "SoilAllWeatherAll",
                             choices = c('4' = 1, '5' = 2),
                             multiple = TRUE)
),
        menuItem("HistoricalWeather", icon = icon("weather"), tabName = "weather"),
        menuItem("SoilMap", icon = icon("soil"), tabName = "soil")
    )
)

body <- dashboardBody(
    tabItems(
        tabItem(tabName = "kmeans",
                leafletOutput("map", height = 700)
        ),

        tabItem(tabName = "weather",
                h2("weather")),
        tabItem(tabName = "soil",
                h2('soil'))
    )
)

    # Put them together into a dashboardPage
ui <- dashboardPage(
        dashboardHeader(title = "Genome Prediction"),
        sidebar,
        body)

这是服务器:

server <- function(input, output) {

    output$map <- renderLeaflet({
        leaflet() %>%
            addTiles() 
    })
}

shinyApp(ui, server)

1 个答案:

答案 0 :(得分:1)

您需要按如下所示将子项目添加到k均值侧边栏项目中。

sidebar <- dashboardSidebar(
  sidebarMenu(
    menuItem("KmeansOutput", #icon = icon("kmeans"),
             menuSubItem(
               "K-Means Map", tabName = "kmeans", icon = icon("calendar")
             ),
             selectInput("run1",
                         "SoilAllWeatherAll",
                         choices = c('4' = 1, '5' = 2),
                         multiple = TRUE)
    ),
    menuItem("HistoricalWeather", tabName = "weather"), #icon = icon("weather"),
    menuItem("SoilMap", tabName = "soil")#, icon = icon("soil")
  )
)