地图和定位
Map Kit:地图展示
Core Location:地理定位
术语
LBS:Location Base Service,基于位置服务
SoLoMo:Social Local Mobile 寻找附近的人
框架
所有CoreLocation框架中数据类型的前缀都是CL
使用CLLocationManager来做用户定位
CLLocationManager
是位置定位的一个全局管理器
- 开始定位
- (void)startUpdatingLocation;
当使用了该方法后,就开始不断的定位用户的位置,中途会频繁的调用下面的方法- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
- 结束定位
- (void)stopUpdatingLocation;
使用
1.创建CLLocationManager对象
2.获取用户权限
3.设置代理 --> 获取用户位置
4.调用定位方法
5.停止定位
distanceFilter
功能:当位置发生改变以后再调用delegate方法,以此节省电量。
传入的参数为double,例如:
distanceFilter = 10;
意思就是,当位置发生超过10米的变化时,才会调用delegate的方法。
距离筛选器,是对手机电量的一个优化,防止频繁调用delegate方法导致耗电。
######desiredAccuracy
iPhone手机定位方式:GPS、Wifi、移动基站(流量)
- 功能:改变与卫星定位的精准度,也就是改变手机与卫星进行的计算。
- 参数:
kCLLocationAccuracyBestForNavigation; 对于导航来说是最好的
kCLLocationAccuracyBest; 最好的
kCLLocationAccuracyNearestTenMeters; 半径10米
kCLLocationAccuracyHundredMeters; 半径100米
kCLLocationAccuracyKilometer; 半径1000米
kCLLocationAccuracyThreeKilometers; 半径3000米
降低定位的精准度以节省电量。