【发布时间】:2013-09-12 14:41:51
【问题描述】:
我试图通过提供地址字符串来查找纬度和经度。对于这两个值,我得到 0.000 和 0.000。
我正在使用 MapKit、iOS 7、XCode 5
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:@"Fairfax, VA" completionHandler:^(NSArray* placemarks, NSError* error){
for (CLPlacemark* aPlacemark in placemarks)
{
CLLocationCoordinate2D coordinate;
coordinate.longitude = aPlacemark.location.coordinate.longitude;
coordinate.latitude = aPlacemark.location.coordinate.latitude;
// updatedCoordinates is a property in my class and I am setting it's value
// here and using it in bunch of other places.
self.updatedCoordinates = coordinate;
}
}];
【问题讨论】:
-
您遇到错误了吗?检查 (NSError *error) 的值。此外,您还处于一个循环中,不断覆盖 self.updatedCoordinates 的值。
-
我对 MapKit 不熟悉,但您查看过
NSError吗?那里可能有错误。 -
不,我没有收到任何错误。程序根本没有进入 completionHandler。
-
placemarks是空还是空? (无结果) -
您是从活动队列还是运行循环模式执行此操作?如果它在您的邮件线程中,则应调用完成处理程序,即使结果数组为空。你甚至到达
for循环的开始了吗?
标签: iphone ios mapkit clgeocoder