2014-03-19 121 views
6

隨着CLLocation對象(如內容緯度= 48.196169,經度= 11.620237),我試圖讓像目前城市和國家:CLGeocoder反地理編碼失敗,錯誤域= NSURLErrorDomain代碼= -1000 -

if(!geocoder) { 
    geocoder = [[CLGeocoder alloc] init]; 
} 

if (geocoder.geocoding) [geocoder cancelGeocode]; 
    [geocoder reverseGeocodeLocation:lo completionHandler:^(NSArray *placemarks, NSError *error) { 
    if(devMode) { 
     NSLog(@"Found placemarks: %@, error: %@", placemarks, error); 
    } 

    if (error == nil && [placemarks count] > 0) { 
     // MY CODE - here placemarks is always (null) 
    } else { 
     if(devMode) 
      NSLog(@"%@", error.debugDescription); 
    } 
}]; 
主要是

,這很好。但在很少的情況下,我只是得到錯誤:

PBRequester failed with Error Error Domain=NSURLErrorDomain Code=-1000 "Ungültige URL" UserInfo=0x16f5ff30 {NSUnderlyingError=0x16f57810 "Ungültige URL", NSLocalizedDescription=Ungültige URL}

Found placemarks: (null), error: Error Domain=kCLErrorDomain Code=2 "The operation couldn’t be completed. (kCLErrorDomain error 2.)"

我絕對不知道爲什麼會發生這種情況。

回答

1

您可以使用下面的代碼來查找地址路線,在這裏你必須通過緯度和經度作爲參數

- (void)findAddress:(CLLocationDegrees)latitude with:(CLLocationDegrees)longitude{ 
CLLocation *location =[[CLLocation alloc]initWithLatitude:latitude longitude:longitude]; 
CLGeocoder *geocoder = [[CLGeocoder alloc] init]; 
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) { 
    NSLog(@"Finding address"); 
    if (error) { 
     NSLog(@"Error %@", error.description); 
    } else { 
     NSLog(@"%@",placemarks[0]); 
    } 
}]; } 

在這裏你必須導入以下 #import <CoreLocation/CLGeocoder.h>

相關問題