我正在创建一个iOS应用。我正在尝试设置一个本地表来存储与谷歌相关联的数据。我很难弄清楚要用什么作为主键。
我通过google地方文档http://code.google.com/apis/maps/documentation/places/阅读并发现我可以传入当前位置以检索一组可用于获取地点详细信息的“引用”ID。但是,我不能将该引用ID用作我的主键,因为“不保证在不同的搜索中为任何给定的地方返回相同的令牌”。我想在我的数据库中引用google place键,以便与数据库中的其他表形成关系。
如果我想根据谷歌地方的关系存储本地数据,我会用什么作为主键?例如,我想在我的数据库中存储自定义数据,例如我的用户中有多少人喜欢这个谷歌。
答案 0 :(得分:1)
将任何引用键存储为db中的主键。现在的事情是
单个地方可以有许多参考ID,但所有参考ID都将指向单个位置。 例如,如果巴黎有3个参考ID 1233adasdadsa 2333asdasdads 2334adasdaads 但每个参考ID都将指向巴黎。 这被称为反向地理编码。
答案 1 :(得分:1)
您应该使用引用作为主键。随着时间的推移,这个地方可能会发生变化(漂移)的可能性很小,因此参考不一定得到保证。
从您链接的API文档:
reference
包含一个唯一标记,您可以使用该标记在地方详情请求中检索有关此地点的其他信息。您可以存储此令牌并在将来的任何时候使用它来刷新有关此地点的缓存数据,但不保证在不同搜索中为任何给定地点返回相同的令牌。
您可以使用id
来验证您是否在搜索中引用了相同的位置。最终,您需要在应用中设置一些逻辑,以确定您的引用是否会带来相同的位置(通过ID)。