IOS 定位初步(CoreLocation)

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);
    }
}
相關文章
相關標籤/搜索