- <span style="font-family: Arial, Verdana, sans-serif; white-space: normal; background-color: rgb(255, 255, 255); ">1. 在工程里面引入CoreLocation.framework和MapKit.framework。</span>
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];
- }