iOS通过经纬度反向解析地址

1. 在工程里面引入CoreLocation.framework和MapKit.framework。

2. 在.h文件里面加入如下代码:

#import <CoreLocation/CoreLocation.h>    #import <MapKit/MKReverseGeocoder.h>    #import <MapKit/MKPlacemark.h>  

@interface RootViewController : UICustomViewController<CLLocationManagerDelegate, MKReverseGeocoderDelegate> {       CLLocationManager *gps;   }  

3. 在.m文件中加入以下代码:

- (void)locationManager:(CLLocationManager *)locationManager didUpdateToLocation:(CLLocation *)newLocation              fromLocation:(CLLocation *) oldLocation;   {       self.location = [NSString stringWithFormat:@"%f,%f",newLocation.coordinate.latitude, newLocation.coordinate.longitude];       [self startedReverseGeoderWithLatitude:newLocation.coordinate.latitude longitude:newLocation.coordinate.longitude];   }      - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {       if ( [error code] == kCLErrorDenied ) {           [manager stopUpdatingHeading];       } else if ([error code] == kCLErrorHeadingFailure) {                  }   }      -(void) startedReverseGeoderWithLatitude:(double)latitude longitude:(double)longitude{       CLLocationCoordinate2D coordinate2D;       coordinate2D.longitude = longitude;       coordinate2D.latitude = latitude;       MKReverseGeocoder *geoCoder = [[MKReverseGeocoder alloc] initWithCoordinate:coordinate2D];       geoCoder.delegate = self;       [geoCoder start];   }      -(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark   {              NSString *subthroung=placemark.thoroughfare;       NSString *local=placemark.locality;       self.textFieldName.text = [NSString stringWithFormat:@"您当前所在位置:%@,%@",local, subthroung];          }   -(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error   {   }  

 

- (void)viewDidLoad {       [super viewDidLoad];              gps = [[CLLocationManager alloc] init];       gps.delegate = self;       gps.desiredAccuracy = kCLLocationAccuracyBest;       gps.distanceFilter = kCLDistanceFilterNone;       [gps startUpdatingLocation];   }  

编译运行下就能看到结果了,哈哈~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyxsjy.html