一切就绪!

着手开发前,请先阅读我们的开发者文档

激活 Google Places API Web Service

为帮助您起步,我们将引导您在 Google 开发者控制台中先完成几项任务:

  1. 创建或选择项目
  2. 激活 Google Places API Web Service
  3. 创建相应密钥
继续

地点照片

地点照片服务是 Google Places API Web Service 的一部分,它是个只读 API,可支持您将高品质照片内容添加到应用中。

借助地点照片服务,您可以访问数百万存储在 Places 和 Google+ Local 数据库中的照片。 当您使用“地点详情”请求获得地点信息时,将返回相关照片内容的照片引用。

“附近地点搜索”和“文本搜索”请求也会为每个地点返回一个照片引用(如相关)。 通过使用照片服务,您可以访问所引用的照片并且将图像调整为最适合您的应用的大小。

照片引用

地点照片服务的所有请求都必须包含 photoreference,该引用在附近地点搜索、文本搜索和地点详情请求的响应中返回。

如果地点有相关的照片内容,对这些请求的响应将包含一个 photos[] 字段。

注: 返回的照片数量因请求的不同而异。

  • 附近地点搜索或文本搜索将最多在数组中返回一个 photo 元素。

  • 雷达搜索不会返回任何照片信息

  • 详情请求最多返回十个 photo 元素

每个 photo 元素都会包含以下字段:

  • photo_reference — 执行照片请求时用于标识照片的字符串

  • height — 图像最大高度

  • width — 图像最大宽度
  • html_attributions[] — 包含任何必填提供方说明。 此字段将始终存在,但可能为空。

照片服务返回的照片来自各种位置,包括商家和 Google+ 用户贡献的照片。 在大多数情况下,使用这些照片时可以不包含提供方说明,或将必需的提供方说明作为图像的一部分。

但是,如果返回的 photo 元素包含 html_attributions 字段中的值,则无论何时要在您的应用中显示该图像,都要包含额外提供方说明。

photos[] 数组的示例如下:

...
"photos" : [
   {
      "html_attributions" : [],
      "height" : 853,
      "width" : 1280,
      "photo_reference" :"CnRvAAAAwMpdHeWlXl-lH0vp7lez4znKPIWSWvgvZFISdKx45AwJVP1Qp37YOrH7sqHMJ8C-vBDC546decipPHchJhHZL94RcTUfPa1jWzo-rSHaTlbNtjh-N68RkcToUCuY9v2HNpo5mziqkir37WU8FJEqVBIQ4k938TI3e7bf8xq-uwDZcxoUbO_ZJzPxremiQurAYzCTwRhE_V0"
   }
...

地点照片请求

地点照片请求是一个 HTTP URL,其格式如下:

https://maps.googleapis.com/maps/api/place/photo?parameters

系统要求提供特定参数才能发起搜索请求。 依照 URL 的标准,所有参数都使用“与”字符 (&) 分隔。 下面枚举了各个参数及其可能的值。

必填参数

  • key — 您应用的 API 密匙。 此密钥可以标识您的应用,以便进行配额管理。 如需了解详细信息,请参阅获取密钥

  • photoreference — 唯一标识照片的字符串标识符。 照片引用可从地点搜索地点详情请求返回。

  • maxheightmaxwidth — 指定地点照片服务返回的图像所需最大高度或宽度(以像素为单位)。

如果图像小于指定的值,将返回原始图像。 如果图像任何一个维度过大,它将按照其原始纵横比缩小至匹配两个尺寸中的较小者。

maxheightmaxwidth 属性均接受 1 到 1600 之间的整型值。

请求示例如下所示。 此请求将返回所引用的图像,并调整大小以使其达到最大宽度 400 像素。

https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference=CnRtAAAATLZNl354RwP_9UKbQ_5Psy40texXePv4oAlgP4qNEkdIrkyse7rPXYGd9D_Uj1rVsQdWT4oRz4QrYAJNpFX7rzqqMlZw2h2E2y5IKMUZ7ouD_SlcHxYq1yL4KbKUv3qtWgTK0A6QbGh87GB3sscrHRIQiG2RrmU_jF4tENr9wGS_YxoUSSDrYjWmrNfeEHSGSc3FyhNLlBU&key=YOUR_API_KEY

注:您需要替换此示例中的 API 密钥,才能使请求在您的应用中发挥作用。

地点照片响应

如果地点照片请求成功,其响应将为一张图像。 图像类型取决于最初提交的照片的类型。

如果您的请求超出您的可用配额,服务器将返回 HTTP 403 状态并显示以下图像以表示已超出配额:

超出配额图像

如果服务器无法理解您的请求,它将返回 HTTP 400 状态,以表示请求无效。 您可能看到无效请求的最常见原因包括:

  • 未正确指定提交的照片引用
  • 您的请求未包含 maxwidthmaxheight 参数。

错误消息

当“地点”服务返回 HTTP 400 状态时,在响应对象内可能有额外 error_message 字段。 此字段更详细地说明了状态代码背后的原因。

sensor 参数

Google Places API Web Service 之前要求您包括 sensor 参数以指示您的应用是否使用传感器来确定用户的位置。 但该参数现在不再是必填项。

发送以下问题的反馈:

此网页
location_on
Google Places API Web Service