You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:05:29