【问题标题】:Place ID gives "NOT FOUND" error for place details API地点 ID 为地点详细信息 API 提供“未找到”错误
【发布时间】:2019-12-25 09:53:19
【问题描述】:

我的应用程序中保存了由 Nearby places API 提供的地点 ID。但是,如果我尝试使用进行地点详细信息 API 调用 保存的地点 ID 我得到下面提到的错误: { "html_attributions" : [], "status" : "NOT_FOUND" }

以下是我注意到相同问题的几个地点 ID:

  • ChIJ2fF6zviX9YgRflKEZNrpLrQ
  • ChIJ3Xv8KdzrwIcRFe9mz07_mAc
  • ChIJA_z3Ds7pwIcR0tmWoD-FxnA
  • ChIJb2WasR4P9YgRLEtgoc960w0
  • ChIJC-jidC7Mt4kRUaicF-NRL3k
  • ChIJezHD6b3H2YgRstKX39Etw84
  • ChIJN66KdLO09YgR2mBp6HrMFmY
  • ChIJS-L0ef-h9YgRxKmyYOSCJ8s
  • ChIJu5l5tzpfwIcRuI97aq-VSYU

有人可以告诉我为什么我没有使用有效地点 ID 获取地点详细信息(我假设地点 ID 是正确的,因为它由 Google 附近的 API 返回)。

【问题讨论】:

  • 您如何检索地点详细信息?
  • 这些地点 ID 是从哪里来的?他们什么时候回来的?他们同时工作吗?
  • 地点 ID 由 Google 附近地点 API maps.googleapis.com/maps/api/place/nearbysearch/… 返回以下是为地点 ID“ChIJ-0Z7rGz79IgRpJjzfxFr-PA”保存的一些详细信息 store_id : ee0ce4a8a9ab51b7ef14b0f9da811496b00d0a9f 附近名称 : The Home Depot : 680 Lamar Hutcheson Parkway, Riverdale 类型 : ["hardware_store", "home_goods_store", "point_of_interest", "store", "establishment"]

标签: google-maps google-maps-api-3 google-places-api


【解决方案1】:

这似乎是 Google 的 Places API 和地点 ID 的预期行为。谷歌的documentation 声明:

当您使用 保存的地点 ID。

如果企业关闭或搬到新的地点,地点 ID 可能会过时 位置。

地点 ID 可能会因 Google 地图上的大规模更新而发生变化 数据库。在这种情况下,一个地点可能会收到一个新的地点 ID,并且 旧 ID 返回 NOT_FOUND 响应。

Google 也提供了解决方案:

最佳做法是刷新您存储的地点 ID 定期。您可以免费刷新 Place ID,方法是创建一个 Place Details 请求,仅指定 fields 中的 ID 字段 范围。这将触发 Places Details - ID Refresh SKU。

但是,此请求也可能返回 NOT_FOUND 状态代码。一 策略是存储返回每个地点 ID 的原始请求。 如果地点 ID 无效,您可以重新发出该请求以获取 新鲜的结果。这些结果可能包括也可能不包括原始 地方。该请求是收费的。

希望这会有所帮助!

【讨论】:

  • 感谢您的回复。如何为无效的地点 ID 重新签发新的地点 ID?此外,“一种策略是存储返回每个地点 ID 的原始请求”——这句话是什么意思?我确实保存了附近地点 API 的原始请求,但是当我收到 NOT_FOUND 状态代码时,相同的附近地点 API 不会返回该地点。
  • 乐于助人! :) 这意味着您可以存储原始的附近搜索请求,例如:maps.googleapis.com/maps/api/place/nearbysearch/…,这样如果您发现地点 ID 不再有效,您可以再次发出此请求以获取最新结果(具有有效的地点 ID)。
  • 这就是您可以为无效的地点 ID 重新发布新地点 ID 的方法;通过再次发出相同的附近搜索请求,该请求为您提供了该(现在无效的)地点 ID。请注意,Google 声明“这些结果可能包括也可能不包括原始地点。”。希望这能澄清你的疑惑!
  • 附近的地点 API 有时不会显示地点,因此更新地点 ID。此外,附近 API 首先返回的地点 ID,我稍后会使用它来获取地点详细信息。因此,如果地点 ID 无效,则不会返回地点详细信息。另外,我尝试让地点详细信息 API 传递旧地点 ID 和地点详细信息 API 中的 id 字段。但没有有效的地点详细信息。如果地点 ID 在上述情况下无效,是否有任何帮助或解决方案可以帮助我获取地点详细信息?
  • 正如谷歌所说,“这些结果可能包括也可能不包括原始地点。”和“如果企业关闭或搬到新位置,地点 ID 可能会过时。”。您需要再次发出相同的请求以获取更新的地点 ID,并且不保证这次会返回该地点。唯一的解决方案是为每个具有无效地点 ID 的地点再次调用 Nearby Search。让我知道这是否有帮助!
猜你喜欢
  • 2019-02-23
  • 2012-12-23
  • 1970-01-01
  • 2012-03-20
  • 2018-07-25
  • 2016-03-20
  • 2023-03-30
  • 2017-11-24
  • 1970-01-01
相关资源
最近更新 更多