2011-02-24 61 views
3

似乎有很多關於此的,但每個人似乎都想要街道級別的數據。在國家級別離線反向地理編碼

我正在編寫一個iOS應用程序,需要爲您所在的國家/地區獲取國際撥號代碼(即將發佈) - 所以我需要的是該國家/地區。由於這將主要用於國外,因此在線解決方案並不真正起作用!

惠斯特搜索我發現了夢幻般的openstreetmap.org,但他們的出口功能似乎只是提供街道級別 - 而且不會一次去做整個世界!

一旦我有數據,我可能還需要幫助算法....但那是爲以後! :-)

謝謝

本。

回答

2

您是否嘗試過使用http://www.geonames.org/? 您可以下載數據庫並脫機使用它。

+0

感謝您的鏈接,我看了看,但沒有夠硬!該鏈接是不夠的 - 但我已經開始在那邊的線程:http://forum.geonames.org/gforum/posts/list/0/2492.page#9334 –

-1

的MapKit MKReverseGeocoder類返回MKPlaceMark對象(S),其具有以下屬性:

addressDictionary 
thoroughfare 
subThoroughfare 
locality 
subLocality 
administrativeArea 
subAdministrativeArea 
postalCode 
country 
countryCode 

你應該能夠讓你從所需要的。您需要使用相關撥號代碼製作您自己的國家代碼列表。

+0

這是離線嗎? –

0

這就是它在CLGeocoder類參考中所說的。

基於iOS的設備必須有權訪問網絡,以便 地理編碼器對象返回詳細的地標信息。儘管 地理編碼器在本地存儲足夠的信息以報告本地化的 國家名稱和ISO國家代碼許多地點。如果國家/地區 信息不適用於特定位置,地理編碼器可能仍會向您的完成區塊報告錯誤。

我也只需要國家的位置,但我不知道「多個位置」是什麼意思。看起來它在挪威奧斯陸不起作用。

1

如果您正在尋找基於四叉樹的方法,請嘗試Yggdrasil。它根據國家多邊形數據生成四叉樹。 Ruby示例查找腳本可以在here找到。