Файл, который я загружаю, содержит четыре столбца: «Дата», «Лат», «Долг», «Город».Я хочу создать листовую карту на основе выбранных пользователем входных данных и должна варьироваться в зависимости от входных данных.Например: для выбранного пользователем города и даты соответствующий лат, лон должен быть нанесен на карту.Как это можно сделать в блестящем.Код, который я пробовал:
sidebar<- dashboardSidebar(sidebarMenu(
id="id",
dateRangeInput("date", tags$h3("Select Date Range"), start = as.Date("2019-09-01", format="%Y-%m-%d"), end = Sys.Date(), format = "yyyy-mm-dd"),
fileInput("file1", "Choose CSV file", accept = c("text/csv", "text/comma-separated-values,text/plain", ".csv")),
selectInput("city", tags$h3("Select City"), choices = c("A", "B","C"), selected = "A")
body<- dashboardBody(tags$head(
tags$style(
HTML('
h3 {
font-weight: bold;
}
')
)
),
shinythemes::themeSelector(),
box(width = 12,collapsible = T, leafletOutput("plot1"), title = h4("Locations"), solidHeader = T))
server <- function(input, output) {
x<- reactive({ read.csv(input$file1$datapath, header = T) })
filtered_data<- reactive({x() %>% filter(City==input$city & Date >=input$date[1] & Date <= input$date[2] )})
output$plot1 <- renderLeaflet({
leaflet(filtered_data()) %>% addTiles() %>%
addCircleMarkers(lng = x()$Lon,lat = x()$Lat.Latitude,radius = log(100),label = x()$Date)
})
}
ui <- dashboardPage(header, sidebar, body)