首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在R leaflet中添加时间滑块

尝试在R leaflet中添加时间滑块
EN

Stack Overflow用户
提问于 2019-11-28 23:23:58
回答 1查看 268关注 0票数 2

我在试着对CT的酿酒厂进行分析。我想做的是制作一张啤酒厂的地图,并添加一个滑块,使每个啤酒厂的图标出现在地图上的基础上,它的开业年份。我还想在地图上添加一个计数器,当您移动年份滑块时,它会显示啤酒厂的总数。我正在使用R中的传单包来制作地图

以下是数据的一部分:

代码语言:javascript
复制
    Name  City      Latitude    Longitude     Opened   YearOpened
1   BAR New Haven   41.30629    -72.93042   1995-01-01  1995
2   Thomas Hooker Brewing Co.   Bloomfield  41.79564    -72.52945   1996-01-01  1996
3   Southport Brewing Company (SBC Restaurant & Brewery)    Southport   41.13949    -73.27795   1997-01-01  1997
4   Willimantic Brewing Co. Willimantic 41.71315    -72.21715   1997-01-01  1997
5   Cottrell Brewing Co.    Pawcatuck   41.37010    -71.83370   1997-02-28  1997
6   City Steam Brewery  Hartford    41.76814    -72.67283   1997-11-01  1997
7   Olde Burnside Brewing Company   East Hartford   41.78485    -72.60069   2000-01-01  2000

下面是我用来制作地图的代码:

代码语言:javascript
复制
 beer_icon <- makeAwesomeIcon(icon = 'beer', library = 'fa', markerColor = 'beige')
 map <- breweries_subset %>%
      leaflet() %>%
      addProviderTiles(provider = 'Esri.WorldStreetMap') %>%
      addAwesomeMarkers(icon = beer_icon,
                        group = 'Breweries',
                        popup = ~ Name)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-29 05:26:29

如果您对shiny解决方案感兴趣:

代码语言:javascript
复制
library(shiny)
library(leaflet)

ui <- bootstrapPage(
  tags$style(type = "text/css", "html, body {width:100%;height:100%}"),
  leafletOutput("map", width = "100%", height = "100%"),
  absolutePanel(bottom = 30, right = 10,
                textOutput("Counter"),
                sliderInput("Year", "Year", 1990, 2000, value = 1995, step = 1, sep = "")
  )
)

server <- function(input, output, session) {

  sliderData <- reactive({
    breweries_subset %>%
      filter(YearOpened <= input$Year)
  })

  output$Counter <- renderText(
    paste("Number Breweries: ", nrow(sliderData()))
  )

  output$map <- renderLeaflet({
    leaflet() %>%
      addTiles() %>%
      fitBounds(min(breweries_subset$Longitude), min(breweries_subset$Latitude),
                max(breweries_subset$Longitude), max(breweries_subset$Latitude))
  })

  observe({
    leafletProxy("map", data = sliderData()) %>%
        clearMarkers() %>%
        addProviderTiles(provider = 'Esri.WorldStreetMap') %>%
        addAwesomeMarkers(icon = beer_icon,
                          group = 'Breweries',
                          popup = ~ Name)
  })
}

shinyApp(ui = ui, server = server)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59092003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档