R闪亮叶子时间-地图冻结

问题描述

我遇到了一个问题,即地图冻结,因为它不允许我拖动它(但是,我仍然可以使用箭头来移动地图,并且仍然可以放大和缩小)。在Linux和Mac OS上都会发生此问题。我想做的是创建一个时间轴,用户可以使用地图顶部sliderInput中的absolutePanel选择时间轴的速度。

Linux:
R版本3.5.0(2018-04-23)
平台:x86_64-pc-linux-gnu(64位)
运行在:Debian GNU / Linux buster / sid

MacBook:
R版本3.6.2(2019-12-12)
平台:x86_64-apple-darwin15.6.0(64位)
运行在:macOS Catalina 10.15.6

我(下面)创建了一个非常基本的shiny应用程序来重现该问题,通常是在第4或5次更改速度或放大和缩小几次后使其“冻结”。我不知道如何调试这样的问题,以查找导致问题的确切原因,如果您有空,我也很感谢调试方面的建议。请让我知道如何解决地图冻结的问题。

提前谢谢!

library(shiny)

ui <- fluidPage(
  uiOutput(
    "ui"
  )
)

server <- function(input,output,session) {
  
  output$map <- renderLeaflet({
    
    df <- data.frame(
      "Y" = c(33.515556,38.060556,47.903056,49.71,49.041667,31.934167,54.140586,48.494444,48.494444),"X" = c(129.837222,-77.789444,7.563056,8.415278,9.175,-82.343889,3.664422,13.664422,17.681944,17.681944),"start" = seq.Date(as.Date("2015-01-01"),by = "day",length.out = 10),"end" = seq.Date(as.Date("2015-01-01"),length.out = 10) + 1
    )
    
    geo_df <- geojsonio::geojson_json(
      df,lat="Y",lon="X"
    )
    
    leaflet::leaflet() %>%
      leaflet::addProviderTiles(
        "Esri.WorldImagery",group = "Imagery"
      ) 
  })
  
  output$ui <- renderUI({
    
    fluidRow(
      column(
        12,shiny::tags$div(
          leaflet::leafletOutput(
            "map",height = "758px"
          ),absolutePanel(
            id = "tlmtry_dt_prcss_map_sttngs",class = "panel panel-default",fixed = FALSE,draggable = FALSE,left = "5%",right = "5%",bottom = "5%",column(
              12,sliderInput(
                "spd_slider","Speed",min = 0,max = 100,value = 50,step = 5,width = "100%"
              )
            )
          )
        )
      )
    )
  })
  
  observeEvent(input$spd_slider,{
    output$map <- renderLeaflet({
      
      leaflet::leaflet(df) %>%
        leaflet::addProviderTiles(
          "Esri.WorldImagery",group = "Imagery"
        ) %>%
        leaftime::addTimeline(
          data = geo_df,timelineOpts = leaftime::timelineOptions(
            styleOptions = NULL,pointToLayer = htmlwidgets::JS(
              "function(data,latlng) {
                      return L.circleMarker(
                          latlng,{
                            radius: 5,color: data.properties.color,fillColor: data.properties.color,fillOpacity: 1
                          }
                        );
                      }"
            )
          ),sliderOpts = leaftime::sliderOptions(
            position = "topright",enableKeyboardControls = TRUE,duration = abs(100 - input$spd_slider)*1000
          )
        )
      
    })
  })
}

shinyApp(ui,server)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...