2

通过获取 Google 地点,可以得到以下结果:https ://developers.google.com/places/documentation/details

因为我以后需要更新我的数据库中保存的地方,如果 Google Places 能提供一个唯一的静态标识符,那就太好了。我想我可以为此使用“id”或“reference”,不幸的是它们不是静态的,并且可以并且一直在改变:

id包含一个唯一的稳定标识符来表示这个地方。此标识符可能不用于检索有关此地点的信息,但可用于合并有关此地点的数据,并在单独的搜索中验证地点的身份。由于 id 偶尔会发生变化,因此建议将存储的地点 id 与稍后在同一地点的详细信息请求中返回的 id 进行比较,并在必要时进行更新。

因此,如果我正确理解最后一句话,则无法使用 ID。

reference包含一个标记,可用于将来查询详细信息服务。此令牌可能与详细信息服务请求中使用的引用不同。建议定期更新 Places 的存储参考。尽管此令牌唯一标识了 Place,但反之则不正确:一个 Place 可能有许多有效的参考令牌。

保存参考键将允许人们始终找到该位置,但查询中的参考键永远不会相同。它随着每个查询而变化。

我真的不知道如何解决这个问题。有任何想法吗?

4

1 回答 1

1

在您的情况下,我会将 ID 和 Reference 都缓存在您的数据存储中,因为 ID 可用于删除来自 Web 服务的重复响应,而 References 可用于获取其他详细信息,例如照片等。当 ID 发生变化时,您需要重新访问数据并根据您的业务规则确认新位置是否与旧位置相同。

我需要指出的是,出于性能原因,您只能缓存来自 Places API 的数据,并且根据我们的服务条款,您不应该永久存储数据。

于 2013-08-27T02:45:05.283 回答