0
我正在使用CLGeocoder將設備的當前位置進行地理編碼。它在模擬器上效果很好,但總是在設備(iPhone 4和iPad 3)上出現kCLErrorNetwork
錯誤而失敗。CLGeocoder始終在設備上失敗,但在模擬器中工作
的代碼是非常簡單的:
if (geocoder == nil) geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:self.location completionHandler:^(NSArray *placemarks, NSError *error) {
if (error == nil) {
// Do good stuff with the placemark...
} else {
NSLog(@"unable to reverse geocode location %@ due to error: %@", self.location, error);
}
}];
打印的錯誤信息是:
unable to reverse geocode location <[redacted],[redacted]> +/- 69.94m (speed -1.00 mps/course -1.00) @ 9/4/12 10:30:19 AM Eastern Daylight Time due to error: Error Domain=kCLErrorDomain Code=2 "The operation couldn’t be completed. (kCLErrorDomain error 2.
一旦CLLocationManager提供了一個位置此方法僅調用,所以該方法總是通過一個有效的位置。
我已經在幾個Wi-Fi網絡和3G網絡上嘗試過它。它從不在設備上工作。
任何幫助將不勝感激!
您應該首先檢查地標是否爲零,如果是,那麼您可以查看錯誤 – Felix
@ phix23恐怕地標爲零,所以似乎沒有問題。 –