iOS 8 定位

來源:互聯網
上載者:User

標籤:

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 定位

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.