我想要使用CLLocationManager返回的座標來查看它們是否是任何本地業務的近似匹配 - 例如,如果我偶然站在星巴克例如,我想我的應用程序建議,根據我的座標,我站在星巴克。如果我在星巴克外20米處,但它是我所站的最近的地址,我希望它能提出'星巴克'。從座標使用CLLocation和/或Mapkit尋找企業名稱信息
我可以返回CLPlacemarks沒問題,但它們包含的信息不包含任何地方的商業名稱。例如,我在英國,因此倫敦格洛斯特路上的南多的地址爲'170 Gloucester Road,London,SW7 4ST'。我可以返回倫敦格羅斯特路170號SW7 4ST在CLPlacemark info沒問題,但沒有提到Nando's。
我在各種帖子中看到信息可能位於名稱屬性或感興趣的區域,甚至是格式化的地址屬性中,但是我在倫敦市中心的廣泛測試表明情況並非如此,在英國率。即使在美國,「蘋果公司」也只在其地址格式化的地址屬性中被提及,但是在1無限循環之前。
我嘗試通過使用CLLocation獲取用戶座標,然後將它們用作編程MapKit搜索的基礎來實現此目的 - 這只是再次返回地址,而不是業務名稱。
在完成了Apple Maps應用程序的一些最終用戶測試後,我對此很感興趣,但如果在本地搜索一般情況下,它似乎會返回相當不完整的結果。 '酒吧','餐廳'。有些地方是包含的,有些則不是,有時結果包含相當遙遠的地方,儘管我知道附近有更多的餐館。
我快速總結出實現我想要的唯一方法就是使用Google Places API,這是我希望避免的一些原因,尤其是我在iOS編程方面缺乏經驗(在Swift btw中...)
如果任何人都可以明確地建議在Mapkit中本地無法執行此操作,並且我需要使用Google Places API,那麼至少我知道並且可以繼續使用它 - 但是如果有一種方法,我會非常感激,知道它是什麼...
在此先感謝!
嘿弗朗西斯科 - 非常感謝你您的幫助;這是我尋找的解決方案。我正在運行Xcode 7.2,並且我發現我必須稍微更改一下語法以使其起作用 –
謝謝我更新了語法以使用swift 2.0和Xcode 7.2 –