【发布时间】:2012-07-05 12:17:22
【问题描述】:
我在使用 CLGeocoder 时遇到问题,当我调用 geocodeAddressString:withCompletionHandler 时,我只能得到一个结果,尽管我知道输入的字符串应该返回多个值。类引用甚至指出:
在前向地理编码请求的情况下,如果提供的信息产生多个可能的位置,则可能会返回多个地标对象。
但是,我的 placemarks 数组中只有一项:
[geocoderDestination geocodeAddressString:destination completionHandler:^(NSArray *placemarks, NSError *error){
NSLog(@"array count:%i", [placemarks count];}
感谢您的帮助。
我使用了诸如“Piccadilly, UK”、“Union Street, UK”之类的字符串,它们只返回了一个结果。现在我想起来了,把英国放在最后可能是促成因素。
【问题讨论】:
-
您可以添加您的示例字符串,以便其他人可以自己测试
-
完成了,但我想我现在已经意识到我的错误了哈哈哈。但问题是我需要英国特定的结果,并且使用 geocodeAddressString:inRegion: 不是很好,因为你必须指定一个半径,所以会包括一些爱尔兰。
-
好吧,即使我使用 CLLocationDistance distance1 = 750; CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:CLLocationCoordinate2DMake(53.825564, -2.421976) radius:distance1 identifier:nil];使用 geocodeAddressString:inRegion: 然后它在澳大利亚为“皮卡迪利”提供了一些位置。
标签: iphone objective-c nsarray clgeocoder