R Shiny:googleway 包 - 在更新期间关闭自动缩放和平移

R Shiny: googleway package - turn off auto zooming and panning during update

使用 googleway R package with Shiny 并使用 google_map_update 和 update_heatmap 更新地图。

是否可以在调用 google_map_update 期间保持相同的缩放级别和位置 - 它当前会在点更改坐标时自动缩小和平移,这很令人头疼 - 可以关闭吗?

下面的代码来自 link,为滑块启用了自动化。放大地图然后设置动画,您会看到自动缩放和平移。

library(shiny)
library(googleway)

ui <- fluidPage(
  sliderInput(inputId = "sample", label = "sample", min = 1, max = 10,
              step = 1, value = 10, animate = TRUE),
  google_mapOutput(outputId = "map")
)

server <- function(input, output){

  map_key <- ''

  set.seed(20170417)
  df <- tram_route[sample(1:nrow(tram_route), size = 10 * 100, replace = T), ]

  output$map <- renderGoogle_map({
    google_map(key = map_key) %>%
      add_heatmap(data = df, lat = "shape_pt_lat", lon = "shape_pt_lon",
                  option_radius = 0.001)
  })

  observeEvent(input$sample,{

    df <- tram_route[sample(1:nrow(tram_route), size = input$sample * 100, replace = T), ]

    google_map_update(map_id = "map") %>%
      update_heatmap(data = df, lat = "shape_pt_lat", lon = "shape_pt_lon")
  })
}

shinyApp(ui, server)

当然可以!

使用update_map_view = FALSE


文档

?update_heatmap

update_map_view - logical specifying if the map should re-centre according to the shapes


例子

google_map_update(map_id = "map") %>%
  update_heatmap(
    data = df
    , lat = "shape_pt_lat"
    , lon = "shape_pt_lon"
    , update_map_view = F
  )

事实上,我现在建议始终使用 update_map_view = FALSE,因为它的内存效率更高(对于浏览器),因为您不会经常更新地图数组 'bounds'。但我还没有在任何地方正式记录这一点。