CLGeocoder反向地理编码失败,错误域= NSURLErrorDomain Code = -1000 -

时间:2014-03-19 16:42:10

标签: ios7 xcode5 cllocation clgeocoder

使用CLLocation对象(内容,例如纬度= 48.196169,经度= 11.620237),我尝试获取当前的城市和国家/地区:

if(!geocoder) {
    geocoder = [[CLGeocoder alloc] init];
}

if (geocoder.geocoding) [geocoder cancelGeocode];
    [geocoder reverseGeocodeLocation:lo completionHandler:^(NSArray *placemarks, NSError *error) {
    if(devMode) {
        NSLog(@"Found placemarks: %@, error: %@", placemarks, error);
    }

    if (error == nil && [placemarks count] > 0) {
        // MY CODE - here placemarks is always (null)
    } else {
        if(devMode)
            NSLog(@"%@", error.debugDescription);
    }
}];

大多数情况下,效果很好。但在极少数情况下,我只是得到错误:

  

PBRequester失败,错误错误域= NSURLErrorDomain Code = -1000   “UngültigeURL”UserInfo = 0x16f5ff30 {NSUnderlyingError = 0x16f57810   “UngültigeURL”,NSLocalizedDescription =UngültigeURL}

     

找到地标:( null),错误:错误Domain = kCLErrorDomain Code = 2   “操作无法完成。(kCLErrorDomain错误2。)”

我完全不知道为什么会这样。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码查找地址行,此处您必须将纬度和经度作为参数传递

- (void)findAddress:(CLLocationDegrees)latitude with:(CLLocationDegrees)longitude{
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]);
    }
}]; }

您必须在此处导入以下内容 #import <CoreLocation/CLGeocoder.h>