R 发光的传单地图制作一个面板

R 发光的传单地图制作一个面板,r,shiny,leaflet,fluid-layout,R,Shiny,Leaflet,Fluid Layout,我在构建一个闪亮的应用程序时遇到了一个困难。我想要一张地图,在那里我可以点击城市来显示数据。我使用了类似的东西来创建一个普通的地图,带有一个包含选项卡的边栏 我想添加一个顶部面板,其中包含所有选项卡共有的输入(如选择感兴趣的数据集、选择城市的按钮等)。但地图使顶部面板部分消失,我不知道为什么,也找不到解决方案 以下是一个例子: library(shiny) library(leaflet) library(maps) rm(list = ls()) mapStates = map("world

我在构建一个闪亮的应用程序时遇到了一个困难。我想要一张地图,在那里我可以点击城市来显示数据。我使用了类似的东西来创建一个普通的地图,带有一个包含选项卡的边栏

我想添加一个顶部面板,其中包含所有选项卡共有的输入(如选择感兴趣的数据集、选择城市的按钮等)。但地图使顶部面板部分消失,我不知道为什么,也找不到解决方案

以下是一个例子:

library(shiny)
library(leaflet)
library(maps)

rm(list = ls())
mapStates = map("world", fill = TRUE, plot = FALSE)

    ui <- fluidPage(
  fluidRow(
    column(width = 4,offset = 2,
           wellPanel(selectInput("dataset", "Choose a dataset:",
                                 choices = c("Temperature max" = 1,
                                             "Temperature mean" = 2,
                                             "Temperature min" = 3,
                                             "Precipitation" = 4,
                                             "Snow depth" = 5,
                                             "Maximum wind speed" = 6,
                                             "average win speed" = 7)))
    ),
    column(4,wellPanel(numericInput("citynum", "Number of city to select:", value = 1,min = 1,max = 3,step = 1)))
  ),

  sidebarLayout(
    mainPanel(
      div(class="outer",
          tags$style(type = "text/css", ".outer {position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; padding: 0}"),
          leafletOutput("mymap",height = "100%",width = "100%"))
    ),

    sidebarPanel(sliderInput("obs", "Number of observations:",  
                             min = 1, max = 1000, value = 500))
  )
)
server <- function(input, output, session) {
  output$mymap <- renderLeaflet({
    leaflet(data = mapStates, options = leafletOptions(minZoom = 3, maxZoom = 18)) %>% 
      #clearBounds() %>%
      addTiles() %>% 
      addProviderTiles(providers$Stamen.TonerLite,
                       options = providerTileOptions(noWrap = TRUE))
  })
}

shinyApp(ui, server)
库(闪亮)
图书馆(单张)
图书馆(地图)
rm(list=ls())
地图状态=地图(“世界”,填充=真,绘图=假)
ui%
addProviderTiles(提供者$Stamen.TonerLite,
选项=providerTileOptions(noWrap=TRUE))
})
}
shinyApp(用户界面、服务器)
导致

这里我没有面板,也没有数字输入。但是,如果将包含顶部面板的流体行放置在包含贴图的主面板之后,则会显示该面板:

ui <- fluidPage(

  sidebarLayout(

    mainPanel(
      div(class="outer",
      tags$style(type = "text/css", ".outer {position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; padding: 0}"),
      leafletOutput("mymap",height = "100%",width = "100%"))
    ),

    sidebarPanel(sliderInput("obs", "Number of observations:",  
                             min = 1, max = 1000, value = 500))
    ),
  fluidRow(column(width = 4,offset = 2,
                  wellPanel(selectInput("dataset", "Choose a dataset:",
                                        choices = c("Temperature max" = 1,
                                                    "Temperature mean" = 2,
                                                    "Temperature min" = 3,
                                                    "Precipitation" = 4,
                                                    "Snow depth" = 5,
                                                    "Maximum wind speed" = 6,
                                                    "average win speed" = 7)))
  ),
  column(4,wellPanel(numericInput("citynum", "Number of city to select:", value = 1,min = 1,max = 3,step = 1)))
  )
)
ui