你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> iOS定位

iOS定位

編輯:IOS技巧綜合
[摘要]本文是對iOS定位 - 普通定位(沒有地圖) - 反地理編碼(得到具體位置)的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。
#import <CoreLocation/CoreLocation.h>   使用到的頭文件  要引入CoreLocation這個包
<CLLocationManagerDelegate>             使用的代理名稱
//1.使用定位服務
    //設置app有訪問定位服務的權限
    //在使用應用期間 / 始終(app在後台)
    //info.plist文件添加以下兩條(或者其中一條):
    //NSLocationWhenInUseUsageDescription 在使用應用期間
    //NSLocationAlwaysUsageDescription  始終
    //2.LocationManager 對象管理相關的定位服務
    _manager = [[CLLocationManager alloc] init];
    //manager判斷: 手機是否開啟定位 / app是否有訪問定位的權限
    //[CLLocationManager locationServicesEnabled]; //手機是否開啟定位
    //[CLLocationManager authorizationStatus];  //app訪問定位的權限的狀態
    if (![CLLocationManager locationServicesEnabled] || [CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorizedWhenInUse) {
        [_manager requestWhenInUseAuthorization]; //向用戶請求訪問定位服務的權限
    }
    _manager.delegate = self;
    _manager.desiredAccuracy = kCLLocationAccuracyBest;
    _manager.distanceFilter = 1.0f;
    [_manager startUpdatingLocation];

//定位代理經緯度回調
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
    [_manager stopUpdatingLocation];
    CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
    [geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {
        for (CLPlacemark * placemark in placemarks) {
            NSDictionary *test = [placemark addressDictionary];
            //  Country(國家)  State(城市)  SubLocality(區) Name全稱
            NSLog(@"%@", [test objectForKey:@"Name"]);
        }
    }];
}
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved