IOS支持三种检测当前位置的方式:手机基站、Wi-Fi、和GPS,其中GPS是经度最高的,同时也是最耗费手机电量的。一般情况下在室内是无法通过GPS获取位置信息的,通过Wi-Fi获取位置的原理是通过网络提供商的IP地址信息来获取位置,经度不是很高,最后是通过手机基站获取位置,手机开机后会连接附近的基站塔获取信号,通过基站可以得到手机所在的位置信息,基站越密集,所获取的位置信息经度就越高。
IOS SDK提供的Core Location能比较好的提供获取位置信息的功能,获取位置信息涉及如下几个类,CLLocationManager(位置管理器),
另外CLLocationManager还有几个属性;
desiredAccuracy:位置的精度属性
取值有如下几种:
kCLLocationAccuracyBest | 精确度最佳 |
kCLLocationAccuracyneare | 精确度10m以内 |
kCLLocationAccuracyHundr | 精确度100m以内 |
kCLLocationAccuracyKilom | 精确度1000m以内 |
kCLLocationAccuracyThree | 精确度3000m以内 |
distanceFilter:横向移动多少距离后更新位置信息
delegate:响应CLLocationManagerdelegat