地点照片(新) 服务是一种只读 API,允许您向同一网页 图像内容。地点照片服务 您可以访问存储在 Places 数据库中的数百万张照片。
当您使用“地点详情”“附近搜索”或“文本搜索”请求获取地点信息时, 您还可以请求获取相关照片内容的照片资源。借助照片服务 然后,您可以访问引用的照片,并将图片调整为最适合您的 应用。
利用 API Explorer,您可以发出实时请求,从而熟悉 API 和 API 选项:
试试看!地点照片请求
地点照片请求是对网址的 HTTP GET 请求,格式如下:https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS
在需要提供以下参数的情况下:
- NAME 包含照片的资源名称。
- API_KEY 包含 API 密钥。
- PARAMETERS 包含
maxHeightPx
参数、maxWidthPx
参数或同时指定两者。
必需参数和可选参数的完整列表如下所述。
必需参数
照片名称
唯一标识照片的字符串标识符。照片名称从
地点详情(新)、附近搜索(新)、
或文本搜索(新)请求,
在 photos[]
数组每个元素的 name
属性中设置。
如需查看示例,请参阅获取照片名称。
maxHeightPx 和 maxWidthPx
指定图片所需的最大高度和宽度(以像素为单位)。如果图片较小 则返回原始图片。如果图片尺寸不大 它将被调整为匹配两个维度中的较小者,并将其限制为原始大小 宽高比。maxheight 和 maxwidth 属性都接受 1 到 4800 之间的整数。
您必须指定 maxHeightPx
和/或 maxWidthPx
。
可选参数
skipHttpRedirect
如果为 false
(默认值),请对图片执行 HTTP 重定向以返回图片。
如果为 true
,则跳过重定向并返回包含图片详细信息的 JSON 响应。
例如:
{ "name": "places/ChIJj61dQgK6j4AR4GeTYWZsKWw/photos/Aaw_FcKly0DEv3EWmDJyHiEqXIP5mowOc99lN1GzBun6KHH52AZ5fFA/media", "photoUri": "https://lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo" }
对于非 HTTP 请求,此选项会被忽略。
获取照片名称
所有对地点照片服务的请求都必须包含
照片资源名称,在对附近搜索、文本搜索或
“地点详情”请求。如果存在photos[]
有相关的照片内容。
photo[]
的每个元素都包含以下字段:
name
- 一个包含照片资源名称的字符串,当您执行该操作时 执行照片请求此字符串的格式如下:places/PLACE_ID/photos/PHOTO_RESOURCE
heightPx
- 图片的最大高度,以像素为单位。widthPx
- 图片的最大宽度,以像素为单位。authorAttributions[]
- 任何必需的提供方说明。这个 字段始终存在,但可能为空。
照片服务返回的照片来自各种位置,
包括企业主和用户贡献的照片。在大多数情况下
照片可以在不注明提供方的情况下使用,或具有规定的提供方信息
作为图片的一部分添加不过,如果返回的 photo
元素
在 authorAttributions
字段中包含值,则必须添加
在应用中显示图片的位置添加额外提供方说明。
以下示例展示了包含 photos
的“地点详情”请求,
字段掩码,以便响应在响应中包含 photos[]
数组:
curl -X GET \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName,photos" \ https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E
photos[]
数组示例如下所示。
... "photos" : [ { "name": "places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1", "widthPx": 6000, "heightPx": 4000, "authorAttributions": [ { "displayName": "John Smith", "uri": "//maps.google.com/maps/contrib/101563", "photoUri": "//lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo" } ] }, ...
请求地点照片
以下示例请求使用资源 name
返回图片,调整图片大小
高度和宽度不超过 400 像素:
https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY
响应 一个成功的地点照片请求就是一个图像。 图片的类型取决于最初提交的照片的类型。
如果您的请求超出了可用配额,服务器会返回 HTTP 403 状态,并显示下图以指示配额已 :
![“超出配额”图片](https://developers.google.cn/static/maps/documentation/maps-static/images/quota.png?authuser=0000&hl=sk)
如果服务器无法理解您的请求,就会返回 HTTP 400 状态,表明请求无效。导致出现 无效请求包括:
- 未正确指定提交的照片名称。
- 请求未包含
maxHeightPx
或maxWidthPx
参数。 - 已设置
maxHeightPx
或maxWidthtPx
参数的值 发送至null
。 name
已过期。如果name
到期,请 对地点详情(新)、附近搜索(新)的请求, 或文本搜索(新)以获取 新的name
。
试试看!
借助 API Explorer,您可以发出示例请求, 您可以熟悉 API 和 API 选项。
如需发出请求,请执行以下操作:
- 选择 API 图标
, 。
- 将
name
参数设为:places/PLACE_ID/photos/PHOTO_RESOURCE/media
- 将
skipHttpRedirect
设置为true
,以便请求返回 JSON 响应。默认情况下,请求会返回图片,而 API Explorer。 - 选择执行按钮。在弹出式窗口中,选择您要更改 用于发出请求
在 API Explorer 面板中,选择“展开”图标,
用于展开 API Explorer 窗口。