我遇到CLGeocoder的问题,当我调用geocodeAddressString:withCompletionHandler
时,我只会得到一个结果,尽管知道输入的字符串应该返回多个值。类引用甚至指出:
在前向地理编码请求的情况下,如果提供的信息产生了多个可能的位置,则可能会返回多个地标对象。
但是,我的地标数组只有一个项目:
[geocoderDestination geocodeAddressString:destination completionHandler:^(NSArray *placemarks, NSError *error){
NSLog(@"array count:%i", [placemarks count];}
感谢您的帮助。
我使用了“Piccadilly,UK”,“Union Street,UK”之类的字符串,这些字符串只返回了一个结果。现在我考虑一下,把英国放在最后可能是影响因素。
答案 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服务。