码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 8 定位

时间:2015-07-27 18:33:10      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

1.首先导入CoreLocation框架 设置代理 

CLLocationManagerDelegate

2.

- (void)initLocationManager

{

    BOOL isEnable = [CLLocationManager locationServicesEnabled];

    

    CGFloat verson = [[UIDevice currentDevice].systemVersion doubleValue];//float

    

    if(isEnable) {

        if(!_loactionManager){

            _loactionManager = [[CLLocationManager alloc] init];

            [_loactionManager setDelegate:self];

            _loactionManager.desiredAccuracy = kCLLocationAccuracyBest;

            _loactionManager.distanceFilter = 20.0;//每隔10米定位一次

            

            if(verson > 8.0f){

                [_loactionManager requestAlwaysAuthorization];

            }

            [_loactionManager startUpdatingLocation];

        }

    }

    else {

        

        Alert(@"温馨提示", @"当前设备定位功能未开启!,建议您到手机系统的[设置]->[隐私]->[定位服务]中打开定位服务,并允许“XXXX社区”使用定位服务" );

        return;

    }

}

3.要在pist文件中添加两个key值

NSLocationAlwaysUsageDescription   NSLocationWhenInUseUsageDescription 这两个key值添加在这个目录下 Application requires iPhone environment

4.设置代理方法

#pragma mark 代理方法

- (void)locationManager:(CLLocationManager *)manager

     didUpdateLocations:(NSArray *)locations

{

    CLLocation *currentLocation = [locations lastObject];

    MJLog(@"currentLocation == %@",currentLocation);

         // 创建位置

         CLGeocoder *revGeo = [[CLGeocoder alloc] init];

        [revGeo reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {

         

        // 地理位置反编

         if (!error && [placemarks count] > 0) {

         NSDictionary *dict = [[placemarks objectAtIndex:0] addressDictionary];

         _currentPosition = [dict objectForKey:@"City"];

         MJLog(@"City address: %@",_currentPosition); }

         else  {

         Alert(@"温馨提示", @"获取位置失败");

         MJLog(@"ERROR: %@", error); }

         }];

    

}

 

- (void)locationManager:(CLLocationManager *)manager

       didFailWithError:(NSError *)error

{

    MJLog(@"error :%@",[error localizedDescription]);

}

 

iOS 8 定位

标签:

原文地址:http://www.cnblogs.com/fantasy3588/p/4680429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!