1. 根据经纬度获取地名
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
CLGeocoder *clGeoCoder = [[CLGeocoder alloc] init];
[clGeoCoder reverseGeocodeLocation:newLocation completionHandler: ^(NSArray *placemarks,NSError *error) {
for (CLPlacemark *placeMark in placemarks)
{
NSDictionary *addressDic=placeMark.addressDictionary;
NSString *state=[addressDic objectForKey:@"State"];
NSString *city=[addressDic objectForKey:@"City"];
NSString *subLocality=[addressDic objectForKey:@"SubLocality"];
NSString *street=[addressDic objectForKey:@"Street"];
[self stopLocation];
[_chooseCityBtn setTitle:city forState:UIControlStateNormal];
[_activityIndicator stopAnimating];
}
}];
2. 根据地名获取经纬度
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
***
//这个地址根据你的需求上传
--------------
***
NSString *oreillyAddress = @"1005 Gravenstein Highway North, Sebastopol, CA 95472, USA";
CLGeocoder *myGeocoder = [[CLGeocoder alloc] init];
[myGeocoder geocodeAddressString:oreillyAddress completionHandler:^(NSArray *placemarks, NSError *error) {
if ([placemarks count] > 0 && error == nil) {
NSLog(@"Found %lu placemark(s).", (unsigned long)[placemarks count]);
CLPlacemark *firstPlacemark = [placemarks objectAtIndex:0];
NSLog(@"Longitude = %f", firstPlacemark.location.coordinate.longitude);
NSLog(@"Latitude = %f", firstPlacemark.location.coordinate.latitude);
}
else if ([placemarks count] == 0 && error == nil) {
NSLog(@"Found no placemarks.");
} else if (error != nil) {
NSLog(@"An error occurred = %@", error);
}
}];
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-06 19:53:24