iOS中的core location提供了定位功能, 能定位装置的当前位置, 同时能得到装置的移动信息
在iOS中定位有三种方式
1 GPS, 最精确的一种,
2 蜂窝基站定位, 这种定位信号基站比较密集的城市比较准确
2 WiFi定位 这种方式貌似是通过网络运营商的数据库中得到的数据, 最不准确
定位装置很耗电,所以还是在非常必要的情况下启动
Corelocation框架常用的API有一下几种:
1,最主要的是XLLocationManager, 定位管理系统
2,CLLocationManagerDelegate: 该协议代表定位管理器的delegate协议. 实现该协议的对象可负责处理CLLocationManager的定位事件
3,CLLocation, 该对象代表位置. 包含了当前的经度, 纬度, 高度, 速度, 路线等, 还包含了该定位信息的水平精确度, 垂直精确度以及时间戳信息.
4,CLHeading, 代表设备移动的方向
5,CLRegion, 代表一个区域,一般程序不会直接使用这个类, 而是使用他的两个子类, 即CLCircularRegion(圆形区域) 和CLBeaconRegion (蓝牙信号区)
CLLocationManager还提供了如下类方法来判断当前设备的定位相关服务状态
+ locationServicesEnabled: 返回当前定位服务是否可用.
- (void)requestAlwaysAuthorization :总是请求授权(iOS8中新增, 必须在plist文件中加上NSLocationAlwaysUsageDescription, 并且调用方法);
- (void)requestWhenInUseAuthorization:请求时使用的授权

iOS中的Core Location提供GPS、蜂窝基站和WiFi定位,其中GPS最精确。使用Core Location涉及CLLocationManager、CLLocationManagerDelegate、CLLocation等核心API。定位服务的权限管理和状态判断、定位精度、电量优化也是关键点。定位数据包括经度、纬度、高度、速度、方向等信息。为了节能,通常在必要时启动定位服务,并在完成后关闭。
最低0.47元/天 解锁文章
959

被折叠的 条评论
为什么被折叠?



