2015-02-10 78 views
2

我有一個用戶鍵入字符串(例如地址)的UISearchBar,它應該建議一些地址。在iOS上使用MapKit搜索地址

假設我在Apple的地圖應用程序中,然後輸入「New Yo」,我將獲得紐約市+本地搜索結果。

看起來蘋果公司正在使用MKLocalSearch和前向地理編碼之間的混合。

現在,如果我搜索的文件,它明確指出,我不能使用CLGeoCoding搜索地址,但我應該使用MKLocalSearch。

那麼這裏最好的辦法是什麼? MKLocalsearch實際上是爲了在距離用戶近的距離內找到點,還是我錯了?

順便說一句,我使用斯威夫特:d 感謝

+0

如果您嘗試實現自動完成或增量搜索,MapKit和CoreLocation目前不支持此操作。我發現MKLocalSearch非常有限,即使對於它應該做的事情也是「非生產性的」。對於自動完成,Google商家信息自動填充API非常出色,但可能需要您切換到使用Google地圖才能符合許可。請參閱http://stackoverflow.com/questions/23505097/ios-app-getting-throttled-from-local-searches。 – Anna 2015-02-11 13:07:36

回答

0

如果你想能夠搜索的地方使用CLGeocoder。 (缺點是蘋果會限制api調用的數量,所以當你輸入「new yo ...」時,例如你可能不會得到一堆結果,但它可以完成這項工作)。

另一方面,MKLocalSearch是專門爲Mapkit設計的。 「

」MKLocalSearch允許開發人員在一個地理區域內查找附近的興趣點。「

我不確定你在做多少地圖工具集成,但如果你只是想讓用戶搜索地點,上面應該會有所幫助。

我還應該注意,谷歌有一個geocoding API,你可以使用,如果你不滿意CLGeocoder。

+0

所以這意味着實際上沒有真正的可能性在用戶輸入時得到地址的建議列表?我的意思是LocalSearch按照它所說的去做,它在一個區域內進行搜索,但是如果我想在另一個城市搜索一個地址,我是不是很幸運? – Christian 2015-02-11 07:15:07

+0

您可以使用CLGeocoder搜索另一個城市內的地址(它會起作用),但是您不會得到您正在尋找的自動填充建議。 – MendyK 2015-02-11 14:38:38