一切就绪!

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

激活 Google Places API Web Service

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

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

地点 ID

地点 ID 在 Google Places 数据库和 Google 地图上唯一标识地点。

  1. 概览
  2. 使用地点 ID 检索地点详情
  3. 处理多个地点 ID 和地点 ID 作用域
  4. 查找特定地点的 ID
  5. 保存地点 ID 供日后使用

查找特定地点的 ID

想查找特定地点的地点 ID?使用下面的地点 ID 查找器来搜索地点并获取其 ID:

或者,您可以在 Google Maps JavaScript API 文档中查看地点 ID 查找器及其代码。

概览

地点 ID 是唯一标识地点的文本标识符。与以下示例类似(标识符的长度可能有所不同):

ChIJrTLr-GyuEmsRBfy61i59si0

地点 ID 可用于大多数位置,包括商家、地标、公园和十字路口。这些 ID 非常稳定,这意味着一旦您为地点标识了地点 ID,就可以在下次查找该地点时重新使用该值。

您可以在整个 Google Places API 内和多个 Google Maps API 中使用相同的地点 ID。例如,您可以使用相同的地点 ID 来引用 Places APIGoogle Maps JavaScript APIGoogle Maps Geocoding APIGoogle Maps Embed APIGoogle Maps Roads API 中的地点。

使用地点 ID 检索地点详情

地点 ID 是引用特定地点相关信息的可靠方式。使用地点 ID 的常见方式是搜索地点(例如使用 Google Maps JavaScript API 中的 Google Places API Web ServicePlaces 库),然后使用返回的地点 ID 来检索地点详情。您还可以存储地点 ID,以后使用它来检索相同地点详情。

使用 Places API Web Service 的示例

利用 Google Places API Web Service,您可以通过执行地点搜索请求来查找地点 ID。

下面是一个搜索请求示例,以“restaurant”类型搜索澳大利亚悉尼某位置 500 米半径范围内包含“cruise”一词的地点:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&type=restaurant&keyword=cruise&key=YOUR_API_KEY

响应在 place_id 字段中包括地点 ID,如此代码段所示:

{
  "html_attributions" : [],
  "results" : [
    {
      "geometry" : {
        "location" : {
          "lat" : -33.870775,
          "lng" : 151.199025
        }
      },
      ...
      "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
      ...
    }
  ],
  "status" : "OK"
}

有关响应中所有字段的说明,请参阅地点搜索文档。

现在,您可以将地点 ID 置于 placeid 参数中,发送地点详情请求:

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY

处理多个地点 ID 和地点 ID 作用域

每个地点 ID 都只能指代一个地点,但单个地点可以具有多个地点 ID。处理一个地点有多个 ID 的最常见情况是,您最初添加某个地点时其作用域仅限于您的应用,但后来该地点通过审核,其作用域扩大为 Google 范围。

使用 Places API Web Service 添加地点后,您会立即收到该新地点的地点 ID。此地点 ID 仅适用于您的应用范围内。然后,该地点将进入审核队列,等待获批添加到 Google Places 数据库中。如果获得批准,该地点将收到一个新的地点 ID,该 ID 可用于所有应用以及 Google 地图。有关更多详情,请参阅有关添加地点的文档。

还有其他情况会导致地点获取新的地点 ID。例如,如果商家搬到新位置,会获取新的地点 ID。

下图显示了地点具有多个地点 ID 的一种可能情况:

检索具有多个 ID 的地点

如果某个地点具有多个 ID,它也不会对 Places API 请求产生任何影响,但会影响响应。

通过指定地点 ID 请求地点时,可以确信会始终在响应中获得相同地点(如果该地点仍然存在)。

不过,请注意,响应可能包含多个针对所请求地点的地点 ID,或者可能包含与请求中的地点 ID 不同的 ID。

  • Places API Web Service 中的行为:如果地点具有多个 ID,Places API Web Service 将会返回该地点的主 ID,以及包含该地点的所有备选 ID 的数组。请参阅关于地点详情地点搜索的文档。
  • Places JavaScript 库和其他 API 中的行为:请求特定地点 ID 的地点详情时,您会收到所请求地点的相关详情。但请注意,如果地点在您上次请求后收到了新 ID,地点 ID 可能会不同。您可以继续安全地使用原始地点 ID 来访问该地点,但建议您尽可能切换为使用最近返回的地点 ID。

保存地点 ID 供日后使用

地点 ID 可豁免于 Google Maps API 服务条款第 10.5.d 条中声明的缓存限制。因此,您可以无限制地存储地点 ID 值。

发送以下问题的反馈:

此网页
location_on
Google Places API Web Service