动画地图在R与传单和文本



我想建立一个动画地图与时间光标在r

我有时间序列(xts),我想在地图上表示。

library(xts)
library(leaflet)
date<-seq(as.POSIXct("2015-01-01"), as.POSIXct("2015-01-10"), by=86400)
a<-xts(1:10,order.by=date)
b<-xts(5:14,order.by=date)
df = data.frame(Lat = 1:10, Long = rnorm(10),Id=letters[1:10])
leaflet() %>% addCircles(data = df,popup =df$Id)
#popup =paste(df$Id, xts value)  time cursor on the map

对于宣传单包装有什么方法可以做到这一点吗?

感谢

编辑:https://github.com/skeate/Leaflet.timeline

有一个简单的例子

库:

library(shiny)
library(xts)
library(leaflet)
library(dplyr)

数据:

date<-seq(as.Date("2015-01-01"), as.Date("2015-01-10"), by="day")
a<-xts(1:10,order.by=date)
df = data.frame(Lat = rnorm(1)+10, Long = rnorm(1),Id=a)
data_a<-data.frame(a)
data_a1<-data_a %>%  
  mutate("Lat" =as.numeric(df[1,1]),"Long"=as.numeric(df[2,1]),"Date"=rownames(data_a))

shinyapp:

 ui <- fluidPage(
  sliderInput("time", "date",min(date), 
          max(date),
          value = max(date),
          step=1,
          animate=T),
  leafletOutput("mymap")
)
server <- function(input, output, session) {
  points <- reactive({
      data_a1 %>% 
       filter(Date==input$time)
   })
   output$mymap <- renderLeaflet({
    leaflet() %>%
    addMarkers(data = points(),popup=as.character(points()$a))
   })
}
shinyApp(ui, server)

如果在上面的公式中添加以下内容,您可以看到tile

#in data
       tilesURL <- "http://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}"
    
    
     
   #in server replace 
        output$mymap <- renderLeaflet({
            leaflet() %>%
              addTiles(tilesURL)%>%
              addMarkers(data = points(),popup=as.character(points()$a))
          })