如何从Core Location返回的位置检索地址

cfi*_*her -1 cocoa-touch objective-c core-location mapkit

有没有办法将经度/纬度位置(由核心位置返回)转换为地址(街道和城市)?

Tom*_*iak 8

最好的方法是使用反向地理编码,这在CLGeocoder课堂上可用.要从地理位置获取人类可读的地址,您必须使用reverseGeocodeLocation方法.

这是一个小样本:

-(NSString *)getAddressFromLocation:(CLLocation *)location {
    NSString *address;
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error)
     {
         if(placemarks && placemarks.count > 0)
         {
             CLPlacemark *placemark= [placemarks objectAtIndex:0];

             address = [NSString stringWithFormat:@"%@ %@,%@ %@", [placemark subThoroughfare],[placemark thoroughfare],[placemark locality], [placemark administrativeArea]];

             NSLog(@"%@",address);
         }

     }];

    [geocoder release];
    return address;
}
Run Code Online (Sandbox Code Playgroud)