CLGeocoder reverseGeocodeLocation“kCLErrorDomain error 2”

时间:2012-12-15 00:19:47

标签: iphone objective-c ios clgeocoder

我正在开发一款具有反向地理编码功能的iOS应用。当我第一次调用函数时一切都很好。在第二次调用之后(使用控制器的新实例进行调用),出现“Domain = kCLErrorDomain Code = 2”错误。这发生在模拟器和设备上。坐标有效。 我的代码:

CLGeocoder *geoCoder = [[CLGeocoder alloc] init];
CLLocation *loc = [[CLLocation alloc] initWithLatitude:cityCoords.latitude longitude:cityCoords.longitude];

self.displayedCity = [[Stadt alloc] init];
[geoCoder reverseGeocodeLocation:loc completionHandler:^(NSArray *placemarks, NSError *error) {

    if(!error){
        for (CLPlacemark * placemark in placemarks) {
            self.displayedCity.name         = [placemark locality];
            self.displayedCity.stadtCoord   = placemark.region.center;
        }

        [self loadCity:self.displayedCity.name];

    }
    else{
        NSLog(@"failed getting city: %@", [error description]);
    }

}];

提前致谢!!

2 个答案:

答案 0 :(得分:4)

错误2通常意味着您经常调用地理定位服务器。通常,每当您触发委托方法didUpdateLocations时向服务器发送反向地理编码请求时,就会发生这种情况。在文档中,Apple说这通常应该每分钟进行一次。

答案 1 :(得分:1)

有关此错误的更多信息,请参阅Apple关于kCLErrorDomain的文档:Core Location Constants ReferenceCLError.h

  

kCLErrorNetwork网络不可用或发生网络错误。