关闭

IOS定位基本使用

标签: ios
135人阅读 评论(0) 收藏 举报
分类:

IOS中定位如果不使用第三方的框架,就会使用系统自带的CoreLocation完成定位。CLLocationManager类:该类主要用于定位,获取用户的基本信息,结合MapKit使用就能实现简单的导航功能。

  1. CLLocationManager 使用
    1. 首先实例化一个CLLocationManager对象
      CLLocationManager *manager=[[CLLocationManager alloc] init];
      1. manager.distanceFilter = 100;//配置多少米跟新一次
      2. manager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;//配置精确度
      3. manager.activityType = CLActivityTypeOther;//配置导航用途
    2. 设置对象的代理
      manager.delegate=self;
    3. 在IOS8之前不需要做特殊处理
      1. 但是在IOS8的时候需要主动向用户发起授权请求,并且需要在Info.plist文件中添加NSLocationAlwaysUsageDescription或者NSLocationWhenInUseUsageDescription属性才能得到用户的地理位置信息
        if ([[UIDevice currentDevice].systemVersion integerValue] >= 8.0) {
        [self.manager requestAlwaysAuthorization];
        }
        else {
        [self.manager startUpdatingLocation];
        }

        然后在didChangeAuthorizationStatus代理方法中监听授权的结果,如果授权成功踩调用startUpdatingLocation方法获取定位信息
    4. 调用startUpdatingLocation获取地理位置信息
      [manager startUpdatingLocation];
    5. 调用startUpdatingHeading获取到方向信息
      [manager startUpdatingHeading];
    6. 实现代理中的didUpdateLocations方法获取地理位置信息,在代理方法中locations这个数组里面就包括了所定位到的地理位置信息。
  2. CLLocationManager使用注意事项
    1. 模拟器调试的时候如果出现BUG可以试试重置模拟器
    2. 在调用startUpdatingHeading方法的时候不需要用户授权

CLLocationManager类中一些字段的说明

// CLLocation中的一些字段
location.coordinate; //坐标, 包含经纬度
location.altitude; //设备海拔高度 单位是米
location.course; //设置前进方向 0表示北 90东 180南 270西
location.horizontalAccuracy; //水平精准度
location.verticalAccuracy; //垂直精准度
location.timestamp; //定位信息返回的时间
location.speed; //设备移动速度 单位是米/秒, 适用于行车速度而不太适用于不行
//配置需要的精确度
kCLDistanceFilterNone;
kCLLocationAccuracyBestForNavigation //导航级最佳精准
kCLLocationAccuracyBest; //最佳精准
kCLLocationAccuracyNearestTenMeters; //10米误差
kCLLocationAccuracyHundredMeters; //百米误差
kCLLocationAccuracyKilometer;  //千米误差
kCLLocationAccuracyThreeKilometers; //3千米误差
//定位数据的用途
CLActivityTypeOther 作为普通用途
CLActivityTypeAutomotiveNavigation  作为车辆导航
CLActivityTypeFitness  作为不行
CLActivityTypeOtherNavigation 作为其它导航
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4446次
    • 积分:84
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档