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
  • 相关阅读:
    从U盘安装Windows 7 / Vista / 2008
    Windows 7 Enterprise 微软官方90天评估序列号
    Windows 2008 Vista 安装sp2后释放C盘空间
    Windows 7 一年试用批处理
    Windows 2008 R2 试用版序列号
    又出来一个OEM的序列号
    查看 windows 7 激活信息的相关命令
    最新一组OEM Key
    Windows 7 / Vista 分区问题
    MSN 9 多开设置
  • 原文地址:https://www.cnblogs.com/fantasy3588/p/4680429.html
Copyright © 2011-2022 走看看