iOS8.0之前的定位

2017-11-23  本文已影响13人  翻这个墙

iOS8.0之前的定位

1. 测试环境:

2. 前台定位

// 1.导入CoreLocation框架以及对应的主头文件
        #import <CoreLocation/CoreLocation.h>


// 2.创建CLLocationManager对象并设置代理
        self.locationM = [[CLLocationManager alloc] init];
        self.locationM.delegate = self;

// 2.1 在定位前可设置位置管理者CLLocationManager相关属性,如精确度,定位距离等
        // self.locationM.distanceFilter = 100;
        // self.locationM.desiredAccuracy = kCLLocationAccuracyBest;

// 3. 调用方法,开始更新用户位置信息
        [self.locationM startUpdatingLocation];


// 4. 在对应的代理方法中获取位置信息
        -(void)locationManager:(nonnull CLLocationManager *)manager didUpdateLocations:(nonnull NSArray<CLLocation > *)locations
        {
            NSLog(@"每当请求到位置信息时, 都会调用此方法");
        }

3. 后台定位

4. 定位额外设置

5. 知识补充

定位服务 标准定位服务 显著的位置变化定位服务
定位规则 基于gps/基站/wifi定位, 具体使用哪种,苹果有自己规则 使用基站进行定位,所以必须要求设备有电话模块
能否后台处理 程序关闭,就没法获取位置 当app被完全关闭时,也可以接收到位置通知,并让app进入到后台处理
定位精度 定位精度相比于左面,精度不大
耗电 耗电小,而且定位更新频率依据基站密度而定
应用场景 要求定位及时,精度较高,并且运行时间较短 长时间监控用户位置,用户移动速度比较快(例如打车软件)

6. 常见问题总结

上一篇下一篇

猜你喜欢

热点阅读