Place Photos(旧版)是 Places API 的一部分,是一个只读 API,可让您向应用添加高品质照片内容。借助 Place Photos(旧版),您可以访问存储在地点数据库中的数百万张照片。当您使用“地点详情”请求获取地点信息时,系统将返回相关照片内容的照片引用。“查找地点(旧版)”“附近搜索(旧版)”和“文本搜索(旧版)”请求也会为每个地点返回一个照片引用(如果相关)。使用 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,该引用是在对“查找地点(旧版)”“附近搜索(旧版)”“文本搜索(旧版)”或“地点详情(旧版)”请求的响应中返回的。如果地点有相关的照片内容,对这些请求的响应将包含 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值。