闪亮传单地图反应

问题描述 投票:0回答:1

我正在制作一个闪亮的应用程序。我正在尝试使我的地图具有交互性,其中地图仅显示选定的站点。不过,现在我的地图显示了数据中每个站点的位置。这就是我到目前为止尝试做的事情。(这是一个简化的代码)

Site_Name <-sample(c('a','b','c'),replace=T,5)
Latitude <-runif(5,min=-26, max=-22)
Longitude<-runif(5,min=-54, max=-48)
Sites <-data.frame(Site_Name,Latitude,Longitude)



fluidPage(
  theme = shinytheme("cerulean"),
  sidebarLayout(
    sidebarPanel(
      selectizeInput("sites",
                     "Site Name",choices= Sites$Site_Name,
                     options= list(maxItems = 2)),
   

   mainPanel(
      tabsetPanel(
        tabPanel("Plots",leafletOutput("Station")
   )
  )

shinyServer(function(input, output, session) {

df1 <- eventReactive(input$sites, {
    Sites %>% dplyr::filter(Site_Name %in% input$sites)
  })
  
  output$Station = renderLeaflet({
    leaflet(data = df1()) %>%
      addProviderTiles(providers$Esri.WorldStreetMap) %>%
      addMarkers(Sites$Longitude, Sites$Latitude, popup= input$sites,
                 icon = list(
                   iconUrl = 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',
                   iconSize = c(13, 20)))
  })
}
r shiny r-leaflet
1个回答
1
投票

它显示所有,因为你告诉显示所有。您应该将

Sites$Longitude, Sites$Latitude, popup= input$sites
中的
addMarkers
替换为
lng = ~Longitude, lat = ~Latitude, popup= ~Site_Name

© www.soinside.com 2019 - 2024. All rights reserved.