关于这方面似乎有很多内容,但每个人似乎都想要街道级别的数据。
我正在编写一个需要获取所在国家国际直拨区号(出境)的iOS应用程序 - 所以我只需要国家。由于这主要是在国外使用,因此在线解决方案不会真正起作用!
在搜索过程中,我发现了令人惊叹的openstreetmap.org,但他们的导出功能似乎仅提供街道级别数据,并且无法一次完成全球范围内的数据获取!!
一旦我获得了数据,可能还需要算法方面的帮助....但那是以后的事情!!:-)
谢谢
Ben。
关于这方面似乎有很多内容,但每个人似乎都想要街道级别的数据。
我正在编写一个需要获取所在国家国际直拨区号(出境)的iOS应用程序 - 所以我只需要国家。由于这主要是在国外使用,因此在线解决方案不会真正起作用!
在搜索过程中,我发现了令人惊叹的openstreetmap.org,但他们的导出功能似乎仅提供街道级别数据,并且无法一次完成全球范围内的数据获取!!
一旦我获得了数据,可能还需要算法方面的帮助....但那是以后的事情!!:-)
谢谢
Ben。
你尝试过使用http://www.geonames.org/吗?你可以下载数据库并离线使用它。
Yggdrasil https://github.com/leonardvandriel/Yggdrasil 可以将坐标反向地理编码为国家代码。包含一个 .ygg 文件,可以提供大约 10 公里的精度。
更粗略的变体(40 公里精度)在 ruby gist 中可以找到:https://gist.github.com/leonardvandriel/4579113
MapKit的MKReverseGeocoder类返回具有以下属性的MKPlaceMark对象:
addressDictionary
thoroughfare
subThoroughfare
locality
subLocality
administrativeArea
subAdministrativeArea
postalCode
country
countryCode
你应该能够从中获得所需的内容。你需要创建自己的国家代码列表,并附带拨号代码。
这是CLGeocoder类参考中的内容。
iOS设备必须连接到网络才能使地理编码器对象返回详细的地标信息。尽管地理编码器在本地存储了足够的信息以报告许多位置的本地化国家名称和ISO国家代码,但如果特定位置的国家信息不可用,则地理编码器仍可能向您的完成块报告错误。
我也只需要国家位置,但我不知道“许多位置”是什么意思。似乎在挪威奥斯陆无法使用。