CoreLocation简介在移动互联网时代,移动app能解决用户的很多生活琐事,比如导航:去任意陌生的地方周边:找餐馆、找酒店、找银行、找电影院在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发MapKit:用于地图展示CoreLocation:用于地理定位2个热门专业术语LBS:LocationBasedServiceSoLoMo:SocialLocalMobile(索罗门)CoreLocation框架的使用CoreLocation框架使用前提导入框架导入主头文件#importCoreLocation框架使用须知CoreLocation框架中所有数据类型的前缀都是CLCoreLocation中使用CLLocationManager对象来做用户定位CLLocationManagerCLLocationManager的常用操作开始用户定位-(void)startUpdatingLocation;停止用户定位-(void)stopUpdatingLocation;当调用了startUpdatingLocation方法后,就开始不断地定位用户的位置,中途会频繁地调用代理的下面方法-(void)locationManager:(CLLocationManager*)managerdidUpdateLocations:(NSArray*)locations;locations参数里面装着CLLocation对象CLLocationCLLocation用来表示某个位置的地理信息,比如经纬度、海拔等等@property(readonly,nonatomic)CLLocationCoordinate2Dcoordinate;经纬度@property(readonly,nonatomic)CLLocationDistancealtitude;海拔@property(readonly,nonatomic)CLLocationDirectioncourse;路线,航向(取值范围是0.0°~359.9°,0.0°代表真北方向)@property(readonly,nonatomic)CLLocationSpeedspeed;行走速度(单位是m/s)用-(CLLocationDistance)distanceFromLocation:(constCLLocation*)location方法可以计算2个位置之间的距离CLLocationManager@property(assign,nonatomic)CLLocationDistancedistanceFilter;每隔多少米定位一次@property(assign,nonatomic)CLLocationAccuracydesiredAccuracy;定位精确度(越精确就越耗电)CLLocationCoordinate2DCLLocationCoordinate2D是一个用来表示经纬度的结构体,定义如下typedefstruct{CLLocationDegreeslatitude;//纬度CLLocationDegreeslongitude;//经度}CLLocationCoordinate2D;一般用CLLocationCoordinate2DMake函数来创建CLLocationCoordinate2D经纬度本初子午线穿过英国伦敦格林文治天文台往东边(右边)走,是东经(E)往西边(左边)走,是西...