如何获得像iOS Maps这样的地理编码搜索结果

时间:2013-11-02 23:52:34

标签: ios geocoding mklocalsearch

我想知道请求是什么样的,或者使用哪个类来获取像使用Apple Maps搜索的结果? 我试过了:

[geocoder geocodeAddressString:text
                 completionHandler:^(NSArray *placemarks, NSError *error)

似乎只给back one result

   MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];
[search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error)

回馈当地商店等。

如果您输入几个字母,然后返回10个最匹配的城市,我怎样才能取回结果?

2 个答案:

答案 0 :(得分:0)

如上所述。最后,我使用Google Maps API搜索获得了我想要的前10个结果。

答案 1 :(得分:0)

对于地理编码部分:    MKLocalSearch返回MKMapItems列表    每个MKMapItem都可以通过调用mapItem.placemark

来访问MKPlacemark

这就是它变得很酷的地方,在地标上你可以访问addressDictionary。在addressDictionary中,您可以找到各种地理位置详细信息,例如地址,格式化地址,地区,国家/地区等。

MKLocalSearch使用.naturalLanguageQuery搜索其数据库。这种设置的问题在于它将根据您当前(或指定)的位置返回前10位,这使得诸如“城市”之类的搜索变得非常困难。希望这有帮助!