街景请求和响应

街景图像请求是一个采用以下格式的 HTTP 网址:

https://maps.googleapis.com/maps/api/streetview?parameters

系统会使用相关请求的参数指定图像。依照网址的标准,所有参数都使用“与”符号 (&) 分隔。下面列出了允许的参数及其可能的值。

必需参数

采用以下任一方式:

  • location 可以是文本字符串(例如 Chagrin Falls, OH)或经纬度坐标对 (40.457375,-80.009353),并且应进行网址编码。因此,请先将“City Hall, New York, NY”这样的地址转换为“City+Hall,New+York,NY”,然后再发送请求。Street View Static API 会对应于离该位置最近的全景照片。如果您提供了地址文本字符串,API 可以利用其他摄像头位置改善指定位置的显示。如果您提供纬度和经度坐标,API 会在半径 50 米范围内查找最接近该位置的照片。由于街景图像会定期更新,并且可能每次拍摄照片的位置都略有差异,因此可能出现图像更新后您的 location 对应于不同全景图的情况。

或者:

  • pano 是具体的全景图 ID。全景图的 ID 可能会随时间而变化,因此请勿保留此 ID。请改为保存位置地址或纬度和经度坐标,以便刷新全景图片 ID。如需了解详情,请参阅刷新已删除的全景图 ID

以及:

  • size 用于指定图片的输出尺寸(以像素为单位)。尺寸指定为 {width}x{height} 格式 - 例如,size=600x400 返回宽 600 像素、高 400 像素的图像。
  • key 可让您在 Google Cloud 控制台中监控应用的 API 使用情况,并确保 Google 可以在必要时就应用的相关事宜与您联系。如需了解详情,请参阅获取密钥和签名

刷新已删除的全景图 ID

如果您尝试检索全景图片 ID 并收到 ZERO_RESULTS 或无值,则表示全景图片 ID 已被删除,需要刷新。

  1. 保存您用于获取全景图 ID 的位置地址或经纬度坐标,以便您在需要时刷新。

  2. 如果您检测到全景图 ID 已更改,请使用原始位置地址或纬度和经度坐标重新搜索距离该位置最近的全景图,并获取新的全景图 ID。

可选参数

  • signature推荐)是一种数字签名,用于验证任何使用您的 API 密钥生成请求的网站都获得了相应授权。不包含数字签名的请求可能会失败。如需了解详情,请参阅获取密钥和签名

    注意:对于之前使用 Google Maps Platform 高级计划的客户,必须提供数字签名。如需了解详情,请参阅面向高级计划客户的身份验证参数

  • heading 表示相机的罗盘航向。可接受的值介于 0360 之间(0360 这两个值均表示“北”,值 90 表示“东”,值 180 表示“南”)。如果您未指定航向,系统会计算出一个值,以便使相机从进行最近距离的拍摄时所处的那个点朝向指定的 location
  • fov默认值为 90)用于确定图像的水平视野(以度数表示),允许的最大值为 120。 在处理固定尺寸视口时,与处理固定尺寸街景图像时一样,视野本质上也表示缩放级别,数字越小,表示缩放级别越大。


    宽视野屏幕截图,显示了水族馆内的天花板、墙壁、地板和鱼缸窗口。 特写镜头视野的屏幕截图,显示了水族馆内街景照片的放大细节。
    (左侧:fov=120;右侧:fov=20

  • pitch默认值为 0)用于指定相机相对于街景车辆的向上或向下倾斜角度。该角度通常(但并不总)是水平的。正值表示相机向上倾斜(90 度表示相机垂直朝上);负值表示相机向下倾斜(-90 表示相机垂直朝下)。
  • radius默认为 50)用于设置以米为单位的半径,以指定要在指定的纬度和经度周围多大半径范围内搜索全景图片。有效值为非负整数。
  • return_error_code 用于指明 API 在未找到图片时(404 NOT FOUND)或响应无效请求时(400 BAD REQUEST)应否返回错误代码。有效值为 truefalse。如果设置为 true,系统会返回错误消息,而不是通用灰度图片。这样,您就不必单独进行调用来检查图片是否可用。
  • source默认值为 default)会将街景搜索限制为仅使用所选来源。有效值包括:
    • default,使用默认街景来源;搜索范围不限于特定来源。
    • outdoor,仅搜索室外全景图片。室内合集不会包含在搜索结果中。请注意,指定位置可能不存在室外全景图片。另请注意,搜索功能只会返回可确定是室内还是室外的全景图片。例如,系统不会返回全景照片,因为无法确定它们是在室内还是室外拍摄的。

这是一个请求示例。

https://maps.googleapis.com/maps/api/streetview?size=600x300&location=46.414382,10.013988&heading=151.78&pitch=-0.76&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
一张街道视图照片的屏幕截图,显示了电气化铁轨。

无图像可用

对于无街景图像可用的位置,Street View Static API 会返回一幅灰色普通图像,并显示文本“Sorry, we have no imagery here”,如以下示例所示:

指定位置无可用图像时显示的普通图像的屏幕截图。背景为浅棕色,并显示“抱歉,此处无图像”字样。
图:指定位置无可用图像时显示的普通图像。

仅显示有效的图片

为避免显示通用图片,并确保您的网页仅显示有效的 Street View Static API 图片,请遵循以下建议:

  • return_error_code 参数设置为 true。这会导致如果指定位置没有可用图像,Street View Static API 会返回 404 未找到错误,而不是普通灰色图片。
  • 在发送请求之前,请请求街景图像元数据,以确定指定位置是否有可用图像。