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//用户忽略定位

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,957评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,393评论 25 708
  • A: 那么第一个问题,你最出生以来最值得回忆的场景是哪一个呢? B: 我最值得回忆的场景,大多数都是在梦中,现实中...
    卢卡Lucar阅读 212评论 0 0
  • 我能不能手动艾特人呢
    郑宗阅读 159评论 1 0