#import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> #import <CoreLocation/CLLocationManagerDelegate.h> @interface T20140621195534ViewController : UIViewController<CLLocationManagerDelegate> //经度 @property (weak, nonatomic) IBOutlet UITextField *txtLng; //纬度 @property (weak, nonatomic) IBOutlet UITextField *txtLat; //高度 @property (weak, nonatomic) IBOutlet UITextField *txtAlt; @property(nonatomic, strong) CLLocationManager *locationManager; @end
#import "T20140621195534ViewController.h" @interface T20140621195534ViewController () @end @implementation T20140621195534ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //定位服务管理对象初始化 _locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate = self; _locationManager.desiredAccuracy = kCLLocationAccuracyBest; _locationManager.distanceFilter = 1000.0f; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; //开始定位 [_locationManager startUpdatingLocation]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; //停止定位 [_locationManager stopUpdatingLocation]; } #pragma mark Core Location委托方法用于实现位置的更新 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { CLLocation *currLocation = [locations lastObject]; _txtLat.text = [NSString stringWithFormat:@"%3.5f", currLocation.coordinate.latitude]; _txtLng.text = [NSString stringWithFormat:@"%3.5f", currLocation.coordinate.longitude]; _txtAlt.text = [NSString stringWithFormat:@"%3.5f", currLocation.altitude]; } - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { NSLog(@"error: %@",error); } @end