CLGeocoder仅返回一个地标

时间:2012-07-05 12:17:22

标签: iphone objective-c nsarray clgeocoder

我遇到CLGeocoder的问题,当我调用geocodeAddressString:withCompletionHandler时,我只会得到一个结果,尽管知道输入的字符串应该返回多个值。类引用甚至指出:

  

在前向地理编码请求的情况下,如果提供的信息产生了多个可能的位置,则可能会返回多个地标对象。

但是,我的地标数组只有一个项目:

    [geocoderDestination geocodeAddressString:destination completionHandler:^(NSArray *placemarks, NSError *error){
NSLog(@"array count:%i", [placemarks count];}

感谢您的帮助。


我使用了“Piccadilly,UK”,“Union Street,UK”之类的字符串,这些字符串只返回了一个结果。现在我考虑一下,把英国放在最后可能是影响因素。

2 个答案:

答案 0 :(得分:4)

我不了解CLGeocoder,但如果您的要求是位置搜索,则另一种方法是使用google location search url http://maps.google.com/maps/geo?q=london,它返回包含匹配位置信息的json。

答案 1 :(得分:1)

而不是UK使用United Kingdom它会给你一些相关的结果。
尝试在您的地址中添加更多信息 还有一件事UK不是有效的国家/地区代码GB,但似乎放GB代替UK无法解决问题。
此外CLGeocoder目前不如Google Maps API聪明,因为苹果使用自己的服务器解码地址,因此您可以使用Google服务。