1

我正在创建一个 iOS 应用程序。我正在尝试设置一个本地表来存储与谷歌地点相关的数据。我很难弄清楚使用什么作为主键。

我通读了 google place 文档http://code.google.com/apis/maps/documentation/places/ 并发现我可以传入我当前的位置来检索一组可用于获取地点详细信息。但是,我不能使用该参考 ID 作为我的主键,因为“不能保证在不同搜索中为任何给定地点返回相同的标记。” 我想在我的数据库中引用 google place 键,以便我可以与数据库中的其他表建立关系。

如果我想根据谷歌地方的关系存储本地数据,我将使用什么作为主键?例如,我想在我的数据库中存储自定义数据,例如有多少用户“喜欢”这个 google 位置。

4

2 回答 2

1

您应该使用引用作为主键。该地点可能会随着时间的推移而发生变化(漂移)的可能性很小,因此不一定能保证参考。

从您链接到的 API 文档中:

reference包含一个唯一令牌,您可以使用该令牌在“地点详细信息”请求中检索有关此地点的其他信息。您可以存储此令牌并在将来随时使用它来刷新有关此地点的缓存数据,但不能保证在不同搜索中为任何给定地点返回相同的令牌。

您可以使用id来验证您是否在搜索中引用了同一个地方。最终,您需要在您的应用程序中设置一些逻辑来确定您的引用是否显示相同的位置(通过 ID)。

于 2012-01-31T05:06:23.667 回答
1

将任何引用键作为主键存储在数据库中。现在的事情是

一个地方可以有许多参考 id,但所有参考 id 都将指向单个位置。例如,如果 paris 有 3 个参考 id,例如 1233adasdadsa 2333asdasdads 2334adasdaads 但每个参考 id 都指向巴黎。这称为反向地理编码。

于 2012-01-28T22:41:02.080 回答