Place Photos(旧版)是 Places API 的一部分,是一个只读 API,可让您在自己的应用中添加高品质照片内容。借助 Place Photos(旧版),您可以访问存储在地点数据库中的数百万张照片。当您使用“地点详情”请求获取地点信息时,系统将返回相关照片内容的照片引用。“查找地点”(旧版)、“附近搜索”(旧版)和“文本搜索”(旧版)请求也会为每个地点返回一个照片引用(如果相关)。使用 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,该 ID 在对查找地点(旧版)、附近搜索(旧版)、文本搜索(旧版)或地点详情(旧版)请求的响应中返回。如果地点有相关的照片内容,对这些请求的响应将包含 photos[] 字段。
注意:返回的照片数量因请求而异。
- “查找地点(旧版)”“附近搜索(旧版)”或“文本搜索(旧版)”请求最多会在数组中返回一个
photo元素。 - “地点详情(旧版)”请求最多会返回 10 个
photo元素。
每个 photo 元素包含以下字段:
photo_reference- 在执行“Place Photos”(旧版)请求时用于标识照片的字符串。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(旧版)响应
成功的 Place Photos(旧版)请求的响应是一张图片。图片的类型取决于最初提交的照片的类型。
如果您的请求超出可用配额,服务器会返回 HTTP 403 状态,并显示下图以表明配额已超出:

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