如何在R/Shiny中获取googleway::google_map的当前缩放级别?
如何在Shiny应用中获取googleway::google_map的当前缩放级别?
可以实现,googleway的Shiny地图组件会自动将当前缩放级别同步到Shiny的input对象中,你可以通过input$<地图输出ID>_zoom的形式直接获取,就像你获取标记点完成事件那样。
修改后的代码示例
library(shiny) library(googleway) shinyApp( ui = fluidPage(google_mapOutput("map")), server = function(input, output, session){ api_key <- "YourAPI_Key" output$map <- renderGoogle_map({ google_map(key = api_key, location = c(48.80940, 2.326488), zoom = 19) %>% add_drawing(drawing_modes=c("marker", "polygon"), delete_on_change = F) }) # 监听标记点完成事件 observeEvent(input$map_markercomplete, { print("Marker Complete") print(input$map_markercomplete) }) # 监听缩放级别变化并打印当前值 observeEvent(input$map_zoom, { print("当前缩放级别:") print(input$map_zoom) }) } )
关键说明
- 这里的
input$map_zoom对应你的地图输出ID(示例中是map),只要地图的缩放级别发生变化,这个值就会自动更新。 - 你可以根据需求将这个值用于后续的逻辑处理,比如根据缩放级别动态加载不同精度的数据。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

