CLGeocoder反向地理编码“kCLErrorDomain错误2”

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]);
    }

}];

Thanks in advance!!


你有没有得到这个问题的答案? - Amy Worrall
2个回答

4

错误2通常意味着您过于频繁地调用了地理位置服务器。通常,当每次委托方法didUpdateLocations被触发时,您会向服务器发送一个反向地理编码请求。在Apple的文档中,建议您每分钟只进行一次此操作。


1

关于此错误的更多信息可以在苹果的kCLErrorDomain文档Core Location Constants ReferenceCLError.h中找到:

kCLErrorNetwork网络不可用或出现网络错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接