问题描述
我遇到了一个问题,即地图冻结,因为它不允许我拖动它(但是,我仍然可以使用箭头来移动地图,并且仍然可以放大和缩小)。在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 (将#修改为@)