地点 ID

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。
选择平台Android iOS JavaScript Web 服务

地点 ID 是 Google Places 数据库和 Google 地图上的唯一标识符。向以下 Maps API 发出的请求可以接受地点 ID:

  • 在 Geocoding API 网络服务和地理编码服务(Maps JavaScript API)中检索地点 ID 的地址。
  • 在 Directions API 网络服务和路线服务 (Maps JavaScript API) 中指定出发地、目的地和中间航点。
  • 在 Distance Matrix API 网络服务和 Distance Matrix 服务(Maps JavaScript API)中指定出发地和目的地。
  • 检索 Places API 网络服务、Places SDK for Android、Places SDK for iOS 和 Places Library、JavaScript API 中的地点详情。
  • 在 Maps Embed API 中使用地点 ID 参数。
  • 在地图网址中检索搜索查询。
  • 在 Roads API 中显示速度限制。
  • 在数据驱动型样式中查找边界多边形并设置样式。

查找特定地点的 ID

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

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

概览

地点 ID 是唯一标识地点的文本标识符。标识符的长度可能会有所不同(地点 ID 没有长度上限)。 示例:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

地点 ID 可用于大多数位置,包括商家、地标、公园和交叉路口。同一地点或位置可以有多个不同的地点 ID。地点 ID 可能会随时间而变化。

您可以在 Places API 和多个 Google Maps Platform API 中使用相同的地点 ID。例如,您可以使用相同的地点 ID 来引用 Places APIMaps JavaScript APIGeocoding APIMaps Embed APIRoads API 中的地点。

使用地点 ID 检索地点详情

地点 ID 不受 Google Maps Platform 服务条款第 3.2.3(b) 条中所述的缓存限制的约束。确定某个地点的地点 ID 后,您可以在下次查找该地点时重复使用该值。如需了解详情,请参阅下文的保存地点 ID 供日后使用

使用地点 ID 的一种常见方法是(例如,使用 Maps JavaScript API 中的 Places APIPlaces 库搜索地点),然后使用返回的地点 ID 来检索地点详情。您可以存储地点 ID,以后使用它来检索相同的地点详情。请参阅下文的保存地点 ID

Places API 使用示例

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

以下示例搜索了一个位于澳大利亚悉尼某地点周围 1500 米半径范围内的地点,包含“cruise”一词:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&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 放入 place_id 参数中:

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

保存地点 ID 供日后使用

地点 ID 不受 Google Maps Platform 服务条款第 3.2.3(a) 条中所述的缓存限制的约束。因此,您可以存储地点 ID 值以备后用。

刷新存储的地点 ID

如果地点 ID 存在时间超过 12 个月,我们建议您刷新。您可以免费刷新地点 ID,方法是发出地点详情请求,仅在 fields 参数中指定 place_id 字段。这会触发地点详情 - ID 刷新 SKU 功能。但是,此请求也可能会返回 NOT_FOUND 状态代码。一种策略是存储返回每个地点 ID 的原始请求。如果地点 ID 失效,您可以重新发出请求以获取最新结果。这些结果不一定包含原始地点。该请求会产生费用。

使用地点 ID 时的错误代码

INVALID_REQUEST 状态代码表示指定的地点 ID 无效。当地点 ID 被截断或以其他方式进行修改且不再正确时,可能会返回 INVALID_REQUEST

NOT_FOUND 状态代码表示指定的地点 ID 已过时。如果商家停业或搬迁到新的营业地点,地点 ID 可能会过时。由于 Google 地图数据库进行了大规模更新,因此地点 ID 可能会发生变化。在这种情况下,地点可能会收到新的地点 ID,而旧的 ID 会返回 NOT_FOUND 响应。

特别是,某些类型的地点 ID 有时可能会导致 NOT_FOUND 响应,或者 API 可能会在响应中返回不同的地点 ID。这些地点 ID 类型包括:

  • 街道地址在 Google 地图中尚不准确,但可从一系列地址中推断出来。
  • 长路线的路段,其中的请求还指定了城市或市行政区。
  • 交叉路口。
  • 地址组成部分的类型为 subpremise

这些 ID 通常采用长字符串的形式(地点 ID 没有长度上限)。例如:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4