街景图像元数据

简介

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。全景图片可能会随时间改变 ID,因此 请勿保存此 ID而应改为保存地点地址或 纬度和经度坐标,以便您可以刷新全景图片 ID。对于 详情请参阅刷新已删除的全景图片 ID

以及:

  • keysignature - 验证 请求。在某些情况下也需要数字签名,并且 始终推荐。如需了解详情,请参阅 获取密钥和签名

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

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

也可以改成这样:

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

刷新已删除的全景图片 ID

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

  1. 保存您过去使用的地点地址或经纬度坐标 获取全景图片 ID,以便在需要时刷新。

  2. 当您检测到全景图片 ID 发生更改时,使用原始位置 地址或经纬度坐标,以再次搜索离 并获取新的全景 ID。

元数据请求的可选参数

您可以在元数据请求中添加以下参数: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 不存在或无效,就可能会发生此响应。 请参阅 [刷新已删除的全景图片 ID](#refresh-pano)。
"NOT_FOUND" 表示 location 中提供的地址字符串 参数。如果地址不存在,则可能会显示此消息 。
"OVER_QUERY_LIMIT" 表示您已超出每日配额或每秒配额 。
"REQUEST_DENIED" 表示您的请求已遭拒。如果您 未授权您的请求,或者 Street View Static API 未在 包含您的 API 密钥的 Google Cloud 控制台项目。
"INVALID_REQUEST" 通常表示查询参数(地址、 纬度和经度坐标或组成部分)。
"UNKNOWN_ERROR" 表示由于服务器错误而无法处理请求。 此问题通常是暂时性的。如果您再试一次,该请求可能会成功。

更多信息

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