当前位置: 代码迷 >> 综合 >> CoreLocation 中的 CLLocationManager
  详细解决方案

CoreLocation 中的 CLLocationManager

热度:32   发布时间:2023-12-08 13:32:58.0

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参数。