cfi*_*her -1 cocoa-touch objective-c core-location mapkit
有没有办法将经度/纬度位置(由核心位置返回)转换为地址(街道和城市)?
最好的方法是使用反向地理编码,这在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)