地图之CLLocationManager的使用 定位功能使用

1.iOS8以前使用CLLocationManager

  • 1.导入头文件 <CoreLocation/CoreLocation.h>
  • 2.创建位置管理者 CLLocationManager , 并添加到属性。
  • 3.设置代理、遵守协议、实现代理方法,在代理方法中获取位置信息
  • 4.调用开始更新位置方法
  • 5.设置 每隔多远定位一次精确度,精确度越高越耗电,定位时间越长

    // 1.设置位置管理者属性
    @property (nonatomic, strong) CLLocationManager *lcManager;
    // 2.判断是否打开了位置服务
    if ([CLLocationManager locationServicesEnabled]) {
      // 创建位置管理者对象
      self.lcManager = [[CLLocationManager alloc] init];
      self.lcManager.delegate = self; // 设置代理
      // 设置定位距离过滤参数 (当本次定位和上次定位之间的距离大于或等于这个值时,调用代理方法)
      self.lcManager.distanceFilter = 100;
      self.lcManager.desiredAccuracy = kCLLocationAccuracyBest; // 设置定位精度(精度越高越耗电)
      [self.lcManager startUpdatingLocation]; // 开始更新位置
    }
    /** 获取到新的位置信息时调用*/
    -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
    {
      NSLog(@"定位到了");
    }
    /** 不能获取位置信息时调用*/
    -(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
    {
      NSLog(@"获取定位失败");
    }
  • 6.请求授权,iOS6之后,苹果开始加强保护用户隐私,在 Info.plist 文件中定义 Key提醒用户,提高用户允许定位的概率。

    Info.plist 设置Key
  • 7.如果要后台定位,需要打开后台模式

    勾选后台模式

2.iOS8.0之后使用CLLocationManager

  • 1.iOS8之后,苹果又进一步加强了隐私保护,不
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值