3

我正在开发一个具有反向地理编码功能的 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]);
    }

}];

提前致谢!!

4

2 回答 2

4

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

于 2014-02-28T09:05:23.983 回答
1

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

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

于 2013-07-10T15:10:31.133 回答