定位 CLLocationManager

项目当中经常使用到需要获取用户的地理位置,经纬度,现在使用CLLocationManager 苹果自带的获取地理位置的方法

引入头文件,8.0之后不用添加库,之前需要添加库

#import<CoreLocation/CoreLocation.h>

设置代理<CLLocationManagerDelegate>

设置info.plist,添加其中一个就行,

Privacy - Location Always Usage Description

Privacy - Location When In Use Usage Description 

@property(nonatomic,strong)CLLocationManager*manger;

@end

@implementationViewController

- (void)viewDidLoad {

[superviewDidLoad];

self.manger=[[CLLocationManageralloc]init];

_manger.delegate=self;

//开始定位,,,,

[_mangerstartUpdatingLocation];

//可以设置在使用是定位也可以设置一直定位,根据项目需求

[_mangerrequestWhenInUseAuthorization];

}

//实现代理方法

//第一次安装会弹出授权界面,如果不允许定位,在下面的方法里可以自动跳转设置页面,更改完设置页面,回到app会重新走这个方法,不用手动调用

- (void)locationManager:(CLLocationManager*)manager

didUpdateLocations:(NSArray *)locations{

//获取定位的最后一组数据,

/* locations.lastObject存储的数据,包括经纬度,定位时间,

<+34.25024365,+108.99842144> +/- 65.00m (speed -1.00 mps / course -1.00) @ 2017/8/25 \U4e2d\U56fd\U6807\U51c6\U65f6\U95f4 \U4e0a\U534811:11:02"

*/

CLLocation*location = locations.lastObject;

//返回当前的经纬度

CLLocationCoordinate2Dcoordinate = location.coordinate;

NSLog(@"获取经纬度::%.2f,,,,,,%.2f",coordinate.latitude,coordinate.longitude);

//反地理编码,通过定位可以获取当前的城市

CLGeocoder*gecoder = [[CLGeocoderalloc]init];

[gecoderreverseGeocodeLocation:locationcompletionHandler:^(NSArray *_Nullableplacemarks,NSError*_Nullableerror) {

CLPlacemark*mark = [placemarksfirstObject];

NSLog(@"%@,,time %@,,,ddress::%@",mark,mark.timeZone,mark.addressDictionary);

}];

//停止定位

[self.mangerstopUpdatingLocation];

//停止定位反地理编码也不再执行

//[gecoder cancelGeocode];

}

//这是通过方法去实现自动打开设置页面,获取定位权限的,返回app会重新走这个代理方法,didUpdateLocations方法。

- (IBAction)locationBtn:(id)sender {

//[self.manger startUpdatingLocation];

NSURL* url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];

if([[UIApplicationsharedApplication]canOpenURL:url]) {

NSURL*url =[NSURLURLWithString:UIApplicationOpenSettingsURLString];

[[UIApplicationsharedApplication]openURL:url];

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容