2

我想知道请求的外观或使用哪个类来获取结果,例如使用 Apple Maps 进行搜索?我试过了:

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

那似乎只回馈一个结果

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

像当地商店等一样回馈。

如果您键入几个字母并返回 10 个最匹配的城市,我如何才能获得结果?

4

2 回答 2

0

它的方式如上所述。最后,我使用 Google Maps API 搜索来获得我正在寻找的前 10 个结果。

于 2013-12-24T12:29:27.110 回答
0

对于地理编码部分:MKLocalSearch 返回一个 MKMapItems 列表每个 MKMapItem 都有一个 MKPlacemark 访问权限,方法是调用mapItem.placemark

这是它变得很酷的地方,在地标中您可以访问地址字典。在地址字典中,您可以找到各种地理详细信息,例如地址、格式化地址、地区、国家等。

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

于 2014-11-08T07:49:36.270 回答