Динамичный Листовка - Блестящий - PullRequest
0 голосов
/ 24 сентября 2019

Файл, который я загружаю, содержит четыре столбца: «Дата», «Лат», «Долг», «Город».Я хочу создать листовую карту на основе выбранных пользователем входных данных и должна варьироваться в зависимости от входных данных.Например: для выбранного пользователем города и даты соответствующий лат, лон должен быть нанесен на карту.Как это можно сделать в блестящем.Код, который я пробовал:

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)
...