9

我有一个 CLGeocoder 问题,当我打电话时,geocodeAddressString:withCompletionHandler我只得到一个结果,尽管知道输入的字符串应该返回一个以上的值。类参考甚至指出:

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

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

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

感谢您的任何帮助。


我使用了诸如“Piccadilly, UK”、“Union Street, UK”之类的字符串,它们只返回了一个结果。现在我想起来了,把英国放在最后可能是促成因素。

4

2 回答 2

4

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

于 2012-07-06T04:40:55.680 回答
1

而不是UK使用United Kingdom它会给你一些相关的结果。
尝试在您的地址中添加更多信息。
还有一件事UK不是有效的国家/地区代码,GB但似乎放置GBUK不是解决问题。
而且CLGeocoder不像Google Maps API现在那么聪明,因为苹果使用自己的服务器来解码地址,这样你就可以使用谷歌服务。

于 2012-07-08T05:50:27.393 回答