我想创建一个带有侧边栏的地图,您可以在其中选择时间段的范围。想法是,地图仅显示该时期内开业的酒店的标记。我不知道这样做,所以我尝试使用selectInput,因为它对我来说似乎容易一些。但是似乎我仍然无法使它工作。任何指导将不胜感激。
这是示例数据框:
Hotel Year lat long
A 2000 41.886337 -87.628472
B 2005 41.88819 -87.635199
C 2010 41.891113 -87.63301
这是ui.R:
#ui.R
library(shiny)
library(leaflet)
shinyUI(fluidPage(
titlePanel("Hotel Map"),
sidebarLayout(
sidebarPanel(
selectInput("year",
label = "Choose Year:",
choices = c(2000,2005,2010),
selected = 2000
)),
mainPanel (leafletOutput("map","100%",300))
)
))
这是服务器。R:
library(shiny)
library(leaflet)
source("RStudio\\Map-app")
hotels <- read.csv("RStudio\\Map-app\\ChicagoHotels.csv")
shinyServer(
function(input, output) {
output$map <- renderLeaflet({
df <- hotels[hotels$Year == input$year,]
leaflet() %>%
addTiles() %>%
addCircles(data = df)
})
}
)
@InfiniteFlashChess正确。
服务器
library(leaflet)
hotels <- read.table(text = "Hotel Year latitude longitude
A 2000 41.886337 -87.628472
B 2005 41.88819 -87.635199
C 2010 41.891113 -87.63301",
header = TRUE)
shinyServer(function(input, output) {
output$map <- renderLeaflet({
df <- hotels[hotels$Year == input$year,]
leaflet() %>%
addTiles() %>%
addMarkers(data = df)
})
})
联合会
library(shiny)
library(leaflet)
shinyUI(fluidPage(
titlePanel("Hotel Map"),
sidebarLayout(
sidebarPanel(
selectInput("year",
label = "Choose Year:",
choices = c(2000,2005,2010),
selected = 2000
)),
mainPanel (leafletOutput("map","100%",300))
)
))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句