简介
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 可能会随着时间推移而发生变化。
以及:
key
和signature
- 必须提供 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>
元数据请求的可选参数
您可以在元数据请求中添加以下参数:size
、heading
、fov
和 pitch
。请注意,这些参数不会影响全景图片的相关数据或系统找到的全景图片。该 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 控制台项目中激活 Street View Static API,则可能会发生这种情况。 |
"INVALID_REQUEST" |
通常表示缺少查询参数(地址、经纬度或组成部分)。 |
"UNKNOWN_ERROR" |
表示由于服务器错误而无法处理该请求。这通常是一种临时状态。如果您重试一次,请求可能会成功 |
更多信息
如需详细了解如何使用 Street View Static API 或其他 Google Maps API 产品,请务必查看 Maps API 的支持页面。