在iOS通讯录中存储纬度和经度

4

我的应用想在地图上显示附近的联系人。我知道如何从地址获取纬度/经度,但不知道如何保存它们以避免重复查询。是否可以将纬度和经度添加到地址簿中的记录中?

3个回答

1
是的,您可以在iOS通讯录中为联系人添加经纬度地址。要从该地址查看地图标记需要多一步操作,但它是有效的。
打开现有或新建联系人,并创建一个新地址。在“街道”下,输入纬度和经度,逗号之间没有空格。 其他所有内容都留空:城市、州等等。它会强制您选择一个国家,因此只需保留默认值,或者如果您愿意,可以选择与坐标相对应的国家,但实际上并不重要。
例如,您可以输入:
• 街道:48.8582,2.2945 • 国家:法国(或任何国家)
(对于赤道以南或经线以东的位置,请添加减号:例如,-17.53655,-149.56832)。
保存地址。
要进入苹果地图中的位置,请打开联系人,点击纬度/经度地址。这将带您进入苹果地图。不要等待地图出现,因为如果您等待,标记将位于所列任何国家的正中心。相反,在它思考时,只需转到顶部的地址栏并编辑掉国家,以便仅保留lat / long,然后点击搜索。这次,针会直接指向正确的纬度/经度位置。如果您想使用谷歌地图,只需复制/粘贴lat / long到Google地图即可。
上面显示的示例应该会把您带到埃菲尔铁塔。一路平安!

您应该将诸如XX或其他内容替换为国家等数据。 - Enamul Hassan

0
在iPhone本地通讯录中无法存储。但您可以做一件事,即在应用程序中使用SQLite数据库存储用户信息以及经纬度,并且如果您需要一些同步功能,则可以创建Web服务,根据您的逻辑更新SQLite数据库。
希望这能帮到您。
祝您好运!

0

我不确定是否可以向ABPeoplePickerNavigationController添加纬度经度值,但如果您想要找到两个联系人之间的距离,则可以从联系人地址中找到它,或将您的纬度经度值添加到数据库中并使用我的第二个选项。

有两种方法可以通过地址查找位置

1) 如何从ABPeoplePickerNavigationController获取街道地址

2) 使用reverseGeocodeLocation,并且查看我的答案CLLocationManager not getting City name,这对你有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接