iOS系统定位和反地理编码基本使用

鉴于之前markdown使用不熟练,现慢慢修改以前文章格式,更易读。


1.声明全局的定位管理者和反编码


@property(nonatomic,strong)CLLocationManager*locationManager;

@property(nonatomic,strong)CLGeocoder*geocoder;

2.初始化定位管理者绑定代理同时判断系统版本号使用不同方法


self.locationManager.delegate=self;

if([[UIDevicecurrentDevice].systemVersiondoubleValue] >=8.0)//iOS8

{

//主动要求用户对我们的程序授权授权状态改变就会通知代理

[self.locationManagerrequestAlwaysAuthorization];//请求前台和后台定位权限(必须是iOS8才能用)

}

else

{

//ios7

}

//开始监听(开始获取位置)

[self.locationManagerstartUpdatingLocation];

3.绑定代理允许定位的情况下通过代理方法对定位信息进行处理


- (void)locationManager:(CLLocationManager*)manager didUpdateLocations:(NSArray*)locations

{

CLLocation*location = [locationslastObject];

[self.geocoderreverseGeocodeLocation:locationcompletionHandler:^(NSArray*placemarks,NSError*error) {

//获取当前定位信息,进行定位处理

}

4.[CLLocationManagerauthorizationStatus]定位状态,可以根据不同状态方便控制处理举例常用的状态


kCLAuthorizationStatusDenied //用户禁止使用定位

kCLAuthorizationStatusNotDetermined//用户忽略定位

你可能感兴趣的:(iOS系统定位和反地理编码基本使用)