IOS 定位CoreLocation代碼
定位需要使用蘋果官方的類庫CoreLocation,通過GPS來確定位置信息 并且需要實現CLLocationManagerDelegate協議
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);
}
}
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!