街景图片元数据

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

简介

Street View Static API 元数据请求会提供街景全景图片的相关数据。 借助这些元数据,您可以了解某个营业地点的街景图像是否可用,还可以以编程方式获取纬度和经度、全景图片 ID、照片拍摄日期以及图片的版权信息。通过访问此元数据,您可以自定义应用中的错误行为。

Street View Static API 元数据请求是免费的。 请求元数据时不会消耗任何配额。 仅当使用 Street View Static API 加载图像时,才会消耗配额。

发出街景图像元数据请求时,全景图像会精确到 50 米。

获取图像元数据

街景图像元数据请求是一个 HTTP 网址,其格式如下:

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

根据网址的标准,所有参数均使用和号字符 (&) 进行分隔。

元数据请求的必需参数

元数据请求接受与 Street View Static API 图片请求的网址参数,但只需要以下参数:

采用以下任一方式:

  • location - 可以是文本字符串(例如 Chagrin Falls, OH),也可以是以英文逗号分隔的纬度/经度坐标 (40.457375,-80.009353) 对。

或者:

  • pano - 特定的全景图片 ID。这些图片通常很稳定,但全景图片可能会随着图像刷新而发生变化。

以及:

  • keysignature - 必须提供 API 密钥才能对请求进行身份验证。在某些情况下,同样需要数字签名,并且始终建议这样做。如需了解详情,请参阅获取密钥和签名

您的元数据请求(仅包含必需参数)将如下所示:

https://maps.googleapis.com/maps/api/streetview/metadata?location=<STRING>&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>

或如下所示:

https://maps.googleapis.com/maps/api/streetview/metadata?pano=<STRING>&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>

元数据请求的可选参数

您可以在元数据请求中添加以下参数:sizeheadingfovpitch。请注意,这些参数不会影响全景数据或可找到全景图片。通过该 API,您可以添加与图像请求相同的参数,从而更轻松地构建与特定图像请求相关的元数据请求。但对于元数据请求,该 API 会忽略可选参数及其值。请参阅 Street View Static API 开发者指南,了解有关使用这些参数的信息

响应格式

元数据响应只以 JSON 格式返回。

示例

示例 1:发现全景图片

下列网址成功请求了同一全景图的元数据和图像。

元数据请求和响应

https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{
   "copyright" : "© 2017 Google",
   "date" : "2016-05",
   "location" : {
      "lat" : 48.85783227207914,
      "lng" : 2.295226175151347
   },
   "pano_id" : "tu510ie_z4ptBZYo2BGEJg",
   "status" : "OK"
}

图像请求和响应,其中预计缺少图像。

https://maps.googleapis.com/maps/api/streetview?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
埃菲尔铁塔

示例 2:未找到全景图片

以下网址用于请求在指定位置或其附近找不到的全景图片的元数据和图片。

元数据请求和响应

https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{
   "status" : "ZERO_RESULTS"
}

图像请求和响应

https://maps.googleapis.com/maps/api/streetview?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
此处没有图像占位符

状态代码

元数据响应对象中的 status 字段包含请求的状态,并且可能会包含调试信息,以帮助您排查街景请求不起作用的原因。status 字段可能包含以下值:

状态 说明
"OK" 表示未出现错误;找到了全景图并返回了元数据。
"ZERO_RESULTS" 表示在所提供的位置附近找不到全景。如果提供的全景 ID 不存在或无效,则可能会发生这种情况。
"NOT_FOUND" 表示找不到 location 参数中提供的地址字符串。如果提供的地址不存在,就可能出现这种情况。
"OVER_QUERY_LIMIT" 表示您已超出此 API 的每日配额或每秒配额。
"REQUEST_DENIED" 表示您的请求已遭拒。如果您没有授权请求,或者包含 API 密钥的 Google Cloud Console 项目未启用 Street View Static API,就可能会发生这种情况。
"INVALID_REQUEST" 通常表示缺少查询参数(地址或 latlng 或组成部分)。
"UNKNOWN_ERROR" 表示由于服务器错误而无法处理该请求。这通常是一种临时状态。如果您重试一次,请求可能会成功

更多信息

如需详细了解如何使用 Street View Static API 或其他 Google Maps API 产品,请务必查看 Maps API 支持页面