1.首先添加類庫CoreLocation
2.須要實現協議CLLocationManagerDelegate 設置全局的CLLocationManager就是gps位置管理器 打開 關閉 獲取gps經緯度 CLLocationManager *gpsManager;
3.開始定位 -(void)startLocation{ //0.判斷 if (![CLLocationManager locationServicesEnabled]) { NSLog(@"沒有定位 或者沒有打開定位"); } //1.建立一個定位對象 manager = [[CLLocationManager alloc]init]; //設置GPS的精確度 manager.desiredAccuracy = kCLLocationAccuracyBest; //下面是精確度從高到低(越精確越耗電) //kCLLocationAccuracyBestForNavigation //(最精確) //kCLLocationAccuracyBest; //kCLLocationAccuracyNearestTenMeters; //kCLLocationAccuracyHundredMeters; //kCLLocationAccuracyKilometer; //kCLLocationAccuracyThreeKilometers; //2.設置代理 目的值GPS有數據來調用代理方法 manager.delegate = self; //3.更新位置數據 [manager startUpdatingLocation]; } //4.結束定位 -(void)stopLocation{ [manager stopUpdatingLocation]; manager = nil; } #pragma mark - 每次GPS更新位置信息都會被觸發 -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ for(CLLocation *loc in locations){ //CLLocation 就是一次經緯度 , 方向 海拔 等信息 //loc.coordinate就是取的經緯度 CLLocationCoordinate2D l = loc.coordinate; CLLocationDegrees lat = l.latitude; CLLocationDegrees lng = l.longitude; //海拔 CLLocationDistance altitude = loc.altitude; NSLog(@"GPS (%f, %f, %f)", lat, lng, altitude); } }