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

如何从Google Maps街景URL提取参数生成静态图片

街景静态图参数提取及生成方案

1. 静态图所需参数是否包含在街景URL中

是,所有核心参数都可以从你给出的示例街景URL中直接提取:

  • @符号后的坐标段:38.8803747为纬度,-77.0404946为经度
  • 坐标后的数值段:3a对应缩放层级系数、75y对应视野(FOV)值、71.74h对应水平偏航角(朝向)、90.2t对应垂直俯仰角
  • data段中!1s后的字符串为唯一街景全景ID(panoid),是静态图调用的核心必填参数,你给出的示例中该值为5FO2Gol-VCDw3tTsT3iL7A

2. 最优参数提取方法

最高效的方式是通过正则表达式匹配提取,不需要解析Google Maps复杂的protobuf格式data参数,匹配规则如下:

  • 提取全景ID:匹配规则为!1s([^!]+),捕获组内容即为panoid
  • 提取经纬度:匹配规则为@([\d\.-]+),([\d\.-]+),两个捕获组分别对应纬度、经度
  • 提取视角参数:匹配规则为,([\d\.]+)a,([\d\.]+)y,([\d\.]+)h,([\d\.]+)t,四个捕获组分别对应缩放系数、视野值、水平偏航角、垂直俯仰角

Python实现参考代码:

import re

streetview_url = "待解析的街景URL字符串"
# 提取全景ID
panoid = re.search(r"!1s([^!]+)", streetview_url).group(1)
# 提取经纬度
lat, lng = re.search(r"@([\d\.-]+),([\d\.-]+)", streetview_url).groups()
# 提取视角参数
zoom, fov, yaw, pitch = re.search(r",([\d\.]+)a,([\d\.]+)y,([\d\.]+)h,([\d\.]+)t", streetview_url).groups()

3. 生成500px×500px居中静态图的方法

完全可以实现,有两种可用方案:

  • 官方API方案:调用谷歌街景静态图API时,直接指定尺寸参数为size=500x500,同时传入提取到的全景ID、视野值、水平偏航角、垂直俯仰角、你的谷歌云API密钥即可,API会自动按照参数居中渲染对应规格的图片,无需额外手动裁剪。
  • 临时非官方方案:可以直接修改街景URL内嵌的缩略图地址参数,将原地址中的宽高参数w=203&h=100替换为w=500&h=500,即可直接获取对应规格的图片,该方案无需API密钥,但可用性、限流规则无官方保障,仅适合测试场景使用。

内容的提问来源于stack exchange,提问作者GFL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:36:03