使用googleway R package with Shiny并使用google_map_update和update_heatmap更新地图。
在调用google_map_update的过程中是否可以保持相同的缩放级别和位置-当前它会缩小并在点更改坐标时自动平移,这很令人头疼-可以将其关闭吗?
下面的代码来自链接,其中滑块已打开自动功能。放大地图,然后进行动画处理,您会看到自动缩放和平移。
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)
答案 0 :(得分:2)
当然!
使用update_map_view = FALSE
?update_heatmap
update_map_view-逻辑指定地图是否应根据形状重新居中
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
,因为它(对于浏览器)具有更高的内存效率,因为您不会不断更新地图“边界”的数组。但是我还没有在任何地方正式记录下来。