CoreLocation框架所包含的类,IOS应用可以通过它们获得设备的当前地理位置。而且不论用哪种类型的IOS需要编写的Core Location代码都是一样的。主要应用的两个类:
CLLocationManager
CLLocationManagerDelegate协议
1.将框架导入后,导入头文件,遵守该协议。
2.然后实例化一个CLLocationManager,主要步骤:
//初始化对象
CLLocationManager *locManager = [CLLocationManager alloc] init];
//设置委托
[locManager setDelegate:self];
//设置位置信息精度 这里的参数是要求不考虑时间和电力,返回尽可能精确的数据
[locManager setDesiredAccuracy:kCLLocationAccuracyBest];
//开始定位
[locManager startUpdatingLocation];
3.既然实现了协议就要实现其中的委托方法
//查找位置成功时候的方法
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocationfromLocation:(CLLocation *)oldLocation;
//查询失败时候的方法
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error;
不过最后要补充一下,查找成功时实现的委托方法现在已经过时了,这是我从API里截的图:
从IOS6开始,苹果推荐使用didUpdateLocations方法了,传入一个NSArray参数。