2011-11-15 71 views
0

我使用Apple提供的反向地理編碼(鏈接到本文後面的開發文檔)。iOS5反向地理編碼限制

我已經設置了這個與我目前的項目。當我觸摸地圖時,touchPoint轉換爲我用於反向地理編碼的座標。但問題是,當我對來自歐洲,北美和南美部分地區的地點進行地理編碼時,我只能獲得有關地址(街道,住宅號,國家等)的信息。在對來自非洲和亞洲的座標進行反向地理編碼時,我無法獲得此信息。

我使用了前向地理編碼(一些在非洲和亞洲的隨機地址)來檢查是否可以找到所有這些信息。他們可以 - 前進的地理編碼非常出色。

那麼,我怎麼能這樣呢,當我用來自非洲和亞洲的座標反向地理編碼時,我沒有得到地址信息?任何人都有同樣的經歷?

http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/UsingGeocoders/UsingGeocoders.html#//apple_ref/doc/uid/TP40009497-CH4-SW1

+0

我找不到任何好的參考資料,但我懷疑蘋果公司只有歐洲和北美的反向地理編碼信息。蘋果正在從谷歌轉向TomTom,而TomTom在非洲和亞洲的市場份額並不十分強大。我想知道是否反向地理編碼適用於澳大利亞地區? –

+0

這可能很好。 反向地理編碼不適用於澳大利亞地區。只有城市名稱會出現(街道,房屋,郵編等缺失)。 感謝您的評論亞當。 – asklausen

+0

對於俄羅斯來說,反向地理編碼也可以(在iOS5之前它是非常不可靠的),除非你沒有得到郵政編碼(但得到街道/房子) – dkzm

回答

2

反向地理編碼(參見錯誤消息返回kCLErrorGeocodeFoundPartialResult和kCLErrorGeocodeFoundNoResult)。很多時候,只有美國,歐洲和世界人口稠密的城市纔會返回全面的反向地址信息。

發生kCLErrorGeocodeFoundPartialResult時,表示只有一部分反向地理編碼信息可用。這可能是街道名稱(個人地址,意思是house/bdlg或lot#)不可用。這可能是越來越少的信息,只是國名。

這是因爲與Google一起使用,衛星只返回經緯度& lon。 Google或其他地圖公司需要提供數據點和數據點地區信息(意思是經緯度和跨度,以便地址佔用一個建築物)。因爲這些信息必須從世界各地的每一個城市獲得,然後進行驗證和輸入數據 - 這是谷歌10多年來一直在積極開展的一項巨大工作。在這個時候,佔地球多數的地球不到7%。再加上這個難題,美國和歐洲大部分地區在市政級別組織得比較完善,並有最新的地圖和包裹/地段。世界上許多其他地區的情況也是如此。

因此,開發人員需要對可用信息進行篩選,並構建註釋標註信息,以便從返回的有限信息中獲得最大意義。再次,這可能只是國名。

此外,不要忘記海洋和內陸水域,因爲如果你的用戶在大湖或哈得遜河放置一個別針。

名稱字段也有助於地標。

是的,最後,有很多雜耍來弄清楚如何最好地顯示從反向地理編碼查找返回的地點標記數據,但您的用戶會感謝您嘗試所有可能的想法。

以上信息以及完整的地理編碼和部分地理編碼國家列表位於Apple文檔中。你會很驚訝地看到這些名單上有幾個國家!