iPhone - 反向地理编码提供“操作无法完成。(PBRequesterErrorDomain错误6001.)”错误

时间:2011-07-16 13:33:00

标签: iphone mkmapview reverse-geocoding

我有一个显示MapView的简单应用程序。 当用户在地图视图上滚动或更改缩放位置时,我想显示地图中心的国家/地区名称。

所以我这样做:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
    MKReverseGeocoder *reverseGeocoder = [[MKReverseGeocoder alloc] initWithCoordinate:self.mapView.centerCoordinate];
    reverseGeocoder.delegate = self;
    [reverseGeocoder start];
}

- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated {
    self.countryNameLabel.text = @"";
}

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark {
    self.countryNameLabel.text = placemark.country;
}

- (void) reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error {
    self.countryNameLabel.text = [error localizedDescription];
    NSLog(@"%@", [error localizedDescription]);
}

仅在视图完成滚动时调用regionDidChangeAnimated方法,因此每秒不超过1次调用。

有时,我有“操作无法完成。(PBRequesterErrorDomain错误6001.)”错误,所以我无法显示国家/地区名称。 稍微移动mapview可以解决问题,以便显示国家/地区。

每次用户更改地图视图显示时,如何确保能够显示国家/地区名称?

我已阅读that post,但这没有帮助。

1 个答案:

答案 0 :(得分:2)

您可以捕获该错误,并在Google未合作时尝试其他转版地理编码服务,例如Yahoo Placefinder