Place Photos(旧版)是 Places API 的一部分,是一种只读 API,可让您在应用中添加高画质照片内容。借助 Place Photos(旧版),您可以访问存储在地点数据库中的数百万张照片。当您使用“地点详情”请求获取地点信息时,系统将返回相关照片内容的照片引用。“查找地点(旧版)”“附近搜索(旧版)”和“文本搜索(旧版)”请求也会为每个地点返回一个照片引用(如果相关)。使用地点照片(旧版),您可以访问所引用的照片,并根据自己的应用将图片调整为最适合的大小。
Place Photos(旧版)请求
地点照片(旧版)请求是采用以下格式的 HTTP 网址:
https://maps.googleapis.com/maps/api/place/photo?parameters
您需要使用某些参数,才能发起搜索请求。依照网址的标准,所有参数都使用“与”符号 (&) 分隔。下面列出了参数及其可能的值。
必需参数
-
photo_reference
用于唯一标识照片的字符串标识符。照片引用由“地点搜索”或“地点详情”请求返回。
-
maxheight 或 maxwidth
maxheight,用于指定图片的首选最大高度(以像素为单位)。如果图片小于指定值,系统将返回原始图片。如果图片在任一维度上较大,则会缩放到与两个维度中较小的一个相匹配,并限制为其原始宽高比。maxwidth,用于指定图片的首选最大宽度(以像素为单位)。如果图片小于指定值,系统将返回原始图片。如果图片在任一维度上较大,则会缩放到与两个维度中较小的一个相匹配,并限制为其原始宽高比。maxheight和maxwidth属性都接受介于1和1600之间的整数。您必须指定
maxheight和/或maxwidth。
照片参考
对 Place Photos(旧版)的所有请求都必须包含 photo_reference,该参数会在对“查找地点(旧版)”“附近搜索(旧版)”“文本搜索(旧版)”或“地点详情(旧版)”请求的响应中返回。如果地点具有相关的照片内容,则这些请求的响应将包含 photos[] 字段。
注意:返回的照片数量因请求而异。
- “查找地点(旧版)”“附近搜索(旧版)”或“文本搜索(旧版)”请求最多会返回数组中的一个
photo元素。 - “地点详情(旧版)”请求最多会返回 10 个
photo元素。
每个 photo 元素都包含以下字段:
photo_reference- 一个字符串,用于在您执行地点照片(旧版)请求时标识照片。height- 图片的最大高度。width- 图片的最大宽度。html_attributions[]- 包含所有必需的提供方信息。此字段将始终存在,但可能为空。
Place Photos(旧版)返回的照片来自各种位置,包括企业主和用户贡献的照片。在大多数情况下,使用这些照片时可以不包含提供方说明,或者可以在图片中显示必要的提供方说明。但是,如果返回的 photo 元素在 html_attributions 字段中包含值,无论您在哪里显示相应图片,都要在应用中包含额外的提供方说明。
以下示例展示了地点详情(旧版)请求:
curl "https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJcUElzOzMQQwRLuV30nMUEUM&key=YOUR_API_KEY"
响应中的 photos[] 数组示例如下。
...
"photos" : [
{
"html_attributions" : [],
"height" : 853,
"width" : 1280,
"photo_reference" : "ATJ83zhSSAtkh5LTozXMhBghqubeOxnZWUV2m7Hv2tQaIzKQJgvZk9yCaEjBW0r0Zx1oJ9RF1G7oeM34sQQMOv8s2zA0sgGBiyBgvdyMxeVByRgHUXmv-rkJ2wyvNv17jyTSySm_-_6R2B0v4eKX257HOxvXlx_TSwp2NrICKrZM2d5d2P4q"
}]
...
Place Photos(旧版)示例
示例请求如下所示。此请求会返回引用的图片,并将其大小调整为宽度不超过 400 像素。
https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photo_reference=ATJ83zhSSAtkh5LTozXMhBghqubeOxnZWUV2m7Hv2tQaIzKQJgvZk9yCaEjBW0r0Zx1oJ9RF1G7oeM34sQQMOv8s2zA0sgGBiyBgvdyMxeVByRgHUXmv-rkJ2wyvNv17jyTSySm_-_6R2B0v4eKX257HOxvXlx_TSwp2NrICKrZM2d5d2P4q &key=YOUR_API_KEY
Place Photos(旧版)响应
成功的地点照片(旧版)请求会返回一张图片。图片类型取决于最初提交的照片类型。
如果您的请求超出了可用配额,服务器会返回 HTTP 403 状态,并显示下图,指明已超出配额:

如果服务器无法理解您的请求,则会返回 HTTP 400 状态,这表示请求无效。请求无效的最常见原因包括:
- 提交的照片引用未正确指定。
- 请求不包含
maxwidth或maxheight参数。 maxwidth或maxheight参数的值已设置为null。photo_reference已过期。如果photo_reference过期,请向地点详情(旧版)、查找地点(旧版)、附近搜索(旧版)或文本搜索(旧版)发出请求,以获取更新后的photo_reference值。