【发布时间】:2015-12-11 19:04:18
【问题描述】:
CLLocation *location =[[CLLocation alloc]initWithLatitude:latitude longitude:longitude];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"Finding address");
if (error) {
NSLog(@"Error %@", error.description);
} else {
NSLog(@"%@",placemarks[0]);
}
}]; }
enum CLError : Int {
case LocationUnknown
case Denied
case Network
case HeadingFailure
case RegionMonitoringDenied
case RegionMonitoringFailure
case RegionMonitoringSetupDelayed
case RegionMonitoringResponseDelayed
case GeocodeFoundNoResult
case GeocodeFoundPartialResult
case GeocodeCanceled
case DeferredFailed
case DeferredNotUpdatingLocation
case DeferredAccuracyTooLow
case DeferredDistanceFiltered
case DeferredCanceled
case RangingUnavailable
case RangingFailure
}
这里我在 IOS 9 设备中遇到了一个错误(在模拟器中它运行良好 ;-))
地理编码期间出现错误:错误域=kCLErrorDomain Code=2 "The 操作无法完成。 (kCLErrorDomain 错误 2.)"
【问题讨论】:
-
有 1 个 google api 可以作为一个不错的选择。在这里参考我的答案stackoverflow.com/a/40670608/2033377
标签: ios ios8 cllocationmanager ios9 geocode