【发布时间】:2020-07-17 09:13:27
【问题描述】:
我正在尝试根据在用户定义的日期范围内选择的内容过滤在传单地图上绘制的标记。以下代码返回无法找到 hfxLoc 对象的错误。我使用了以下方法(在 render 函数内过滤其他元素(即 renderPlot、renderValueBox 等)。我的过滤方法是否正确,或者是否需要在不同的地方发生Leaflet 代码块?
inputSelect代码如下:
selectizeInput("shiptypeInput", "Vessel type: ", choices = hfxVessels, selected = "Cargo ships", multiple = TRUE)
传单代码如下:
renderLeaflet({
hfxLoc <- hfxETA %>%
dplyr::filter(as.Date(eta_date) >= input$dateRange[1] & as.Date(eta_date) <= input$dateRange[2]) %>%
leaflet(data = hfxLoc) %>%
setView(lng = -60.25, lat = 46, zoom = 6) %>%
addProviderTiles(providers$CartoDB.Positron,
options = providerTileOptions(minZoom = 2, maxZoom = 16)) %>%
addMarkers(lng = ~lon, lat = ~lat, clusterOptions = markerClusterOptions())
【问题讨论】:
-
您可以尝试从
leaflet中删除data = hfxLoc- 而不是直接调用leaflet()而不带任何参数吗?看起来您已经将过滤后的数据作为第一个参数输入了。 -
感谢 Ben 的工作!如此简单的修复,不敢相信我忽略了这一点,再次感谢!将其添加为答案,我会将其标记为正确。
标签: r shiny flexdashboard r-leaflet