我已经使用下面的数据框在leaflet中创建了一个地图,使用了下面的代码。但是,输出映射仅显示数据中最后一个时间戳的每个位置的数据。输出映射如下代码所示。
我如何使用闪亮的应用程序来显示这个数据在“日期”列的范围内,有一个滑块选项,而不是一个地图使用的传单,只显示最近的时间戳数据!

test_map <- leaflet(width="100%") %>%
setView(lng=-123.2504, lat= 49.2652, zoom=15) %>%
addProviderTiles("Esri.WorldStreetMap")
test_map %>%
addCircles(
data=AQ_df,
lng = ~Longitude,
lat = ~Latitude,
radius = 30,
color = 'black',
fillColor = ~pal(severity),
fillOpacity = 1,
weight=1,
popup = paste0("<strong>ID: </strong>", AQ_df$RAMP_label, "</br>",
"<strong>Location: </strong>", AQ_df$RAMP_desc, "</br>",
"<strong>PM2.5 (ug/m3): </strong>", AQ_df$PM_RAMP, "</br>",
"<strong>CO (ppb): </strong>", AQ_df$CO_RAMP, "</br>",
"<strong>NO (ppb): </strong>", AQ_df$NO_RAMP, "</br>",
"<strong>NO2 (ppb): </strong>", AQ_df$NO2_RAMP, "</br>",
"<strong>O3 (ppb): </strong>", AQ_df$O3_RAMP, "</br>",
#"<strong>CO2 (ppm): </strong>", AQ_df$CO2_RAMP, "</br>",
#"<strong>Temperature (C): </strong>", AQ_df$T_RAMP, "</br>",
#"<strong>Relative Humidity (%): </strong>", AQ_df$RH_RAMP, "</br>",
"<strong>Date: </strong>", AQ_df$date)
) %>%
addLegend(
position = c("topright"),
pal=pal,
values=AQ_df$severity,
title="<strong>PM2.5 (ug/m3)</strong>")

发布于 2021-09-22 08:20:07
library(tidyverse)
library(leaflet)
library(lubridate)
library(shiny)
test_map <- leaflet(width = "100%") %>%
setView(lng = -123.2504, lat = 49.2652, zoom = 15) %>%
addProviderTiles("Esri.WorldStreetMap")
data <- tribble(
~date, ~color, ~Longitude, ~Latitude,
"2021-09-21", "blue", -123.2464, 49.2675,
"2021-09-20", "red", -123.2464, 49.2675,
"2021-09-21", "black", -123.248, 49.2675
) %>%
mutate(date = date %>% parse_date_time("%Y-%m-%d"))
ui <- shinyUI(pageWithSidebar(
headerPanel("Hello Shiny Leaflet with Date range!"),
sidebarPanel(
dateRangeInput(
"range",
"Date range",
start = "2021-09-10",
end = "2021-09-30"
)
),
mainPanel(
leafletOutput("map")
)
))
server <- shinyServer(function(input, output) {
filtered_data <- reactive({
data %>% filter(date > input$range[1] & date < input$range[2])
})
output$map <- renderLeaflet({
test_map %>%
addCircles(
data = filtered_data(),
lng = ~Longitude,
lat = ~Latitude,
radius = 30,
color = "black",
fillOpacity = 1,
weight = 1,
fillColor = filtered_data()$color
)
})
})
shinyApp(ui, server)

https://stackoverflow.com/questions/69276453
复制相似问题