zoukankan      html  css  js  c++  java
  • iOS 8 定位

    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]);

    }

    1
  • 相关阅读:
    20160205.CCPP体系详解(0015天)
    盘点各专业到古代都能干些啥
    一份简单的在 Linux下编译及调试 C 代码的指南
    WordPress Gravatar国内加载缓慢解决办法
    linux修改mysql字符集编码
    阿里合伙人邵晓锋:什么是创业者应该抵制的诱惑?
    6月27日云栖精选夜读:细数智能家居的痛点
    6月26日云栖精选夜读:成为一名Java高级工程师你需要学什么
    搭建百万级别邮件发送平台
    黑科技实验室:这些高级装备厉害了!
  • 原文地址:https://www.cnblogs.com/fantasy3588/p/4680429.html
Copyright © 2011-2022 走看看