离线反向地理编码在国家一级

似乎有很多关于这个,但每个人似乎都想要街道级别的数据。

我正在编写一个iOS应用程序,需要为您所在的国家/地区获取国际拨号代码(即将发出) – 所以我需要的是国家。 由于这主要是在国外使用,一个在线解决scheme并不真正起作用!

惠斯特search我发现了梦幻般的openstreetmap.org,但他们的出口function似乎只是提供街道级别,并不会一气呵成走遍全世界!

一旦我有数据,我可能也需要帮助algorithm….但多数民众赞成在以后! 🙂

谢谢

本。

你尝试使用http://www.geonames.org/ ? 你可以下载数据库并离线使用它。

如果您正在寻找基于四叉树的方法,请尝试Yggdrasil 。 它基于国家多边形数据生成四叉树。 Ruby示例查找脚本可以在这里find。

这就是它在CLGeocoder类参考中所说的。

基于iOS的设备必须能够访问networking,以便地理编码器对象返回详细的地标信息。 尽pipe地理编码器在本地存储了足够的信息,以便为许多地点报告本地化的国家名称和ISO国家代码。 如果国家/地区信息不适用于特定位置,则地理编码器可能仍会向您的完成区块报告错误。

我也只需要国家的位置,但我不知道“多地点”是什么意思。 在挪威的奥斯陆,这似乎不起作用。

Yggdrasil https://github.com/leonardvandriel/Yggdrasil会将坐标转换为国家/地区代码的地理编码。 包括一个.ygg文件,其精度可达10公里。

一个粗糙的(40公里的准确性)变化是在这里的ruby: https : //gist.github.com/leonardvandriel/4579113

MapKit MKReverseGeocoder类返回具有以下属性的MKPlaceMark对象:

addressDictionary thoroughfare subThoroughfare locality subLocality administrativeArea subAdministrativeArea postalCode country countryCode 

你应该能够从中得到你所需要的。 您需要使用相关拨号代码制作您自己的国家代码列表。