你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS學習之——定位服務2 實現基本定位

IOS學習之——定位服務2 實現基本定位

編輯:IOS開發綜合

1 定位,主要是干啥呢?

1 獲取位置相關數據

2 獲取位置相關信息

由此,我想到了當年玩反恐精英裡面用瞄准鏡的瞄准的感覺:

\

2 那……怎樣定位呢?

1首先你得瞄准吧

    locationManager=[[CLLocationManager alloc]init]; // 定義locationManage對象  打開瞄准鏡
     locationManager.delegate=self;                  // 實現代理  自己打槍
    [locationManager requestAlwaysAuthorization ];   // 請求永久授權  你可以持槍多久?
    locationManager.desiredAccuracy=kCLLocationAccuracyBest;  //設置定位精度  調節面准鏡遠近
    //authorization 授權,認可
    
    locationManager.distanceFilter=1000.0f;                   //設置獲得移動信息最小距離  目標走多遠我需要調整?
這裡解釋一下:請求獲取授權有兩種情況: 1 requestAlwaysAuthorization 獲取永久授權 2 requestWhenInUseAuthorization 當使用的時候授權
設置精度有六種選擇:

1 kCLLocationAccuracyBestForNavigation 導航的最高精度,一般車載導航用(需外接電源)

2 kCLLocationAccuracyBest; 電池使用時候最高精度

3 kCLLocationAccuracyNearestTenMeters; 精確到10米

4 kCLLocationAccuracyHundredMeters; 精確到100米

5 kCLLocationAccuracyKilometer;精確到1000米

6 kCLLocationAccuracyThreeKilometers; 精確到3千米

2 你要把子彈上膛吧,打完了子彈得卸下來吧?

-(void)viewDidAppear:(BOOL)animated
{
     [locationManager startUpdatingLocation];// 開始更新位置信息 子彈上膛
}

-(void)viewDidDisappear:(BOOL)animated
{
    [locationManager stopUpdatingLocation]; //  結束更新位置信息 卸下子彈
}

3 接下來可以打槍了吧(實現委托方法)

/*---------------------------locationmanagerdelegate的方法----------------------------------*/

// 小譯:-()位置管理員:某位置管理員 已經更新的位置信息:某位置信息
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation *currentLocation=[locations lastObject];
    longtitudeTextField.text=[NSString stringWithFormat:@%3.5f,currentLocation.coordinate.longitude];
    latitudeTextField.text=[NSString stringWithFormat:@%3.5f,currentLocation.coordinate.latitude];
    highTextField.text=[NSString stringWithFormat:@%3.5f,currentLocation.altitude];
}

4 這萬一,沒打中呢?(協議方法)

// 調用失敗
// 小譯:-()位置管理員:某管理員 已經失敗的錯誤信息:某錯誤信息
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
    // 小譯:deny拒絕
    if(error.code==kCLErrorDenied)
    {
        NSLog(@拒絕訪問);
    }else if (error.code==kCLErrorLocationUnknown)
    {
        NSLog(@位置信息未知);
    }
}

 

3 但是,這定位你想定就可以嗎?(小心人家不讓)

1要在info.list裡面添加兩個鍵哦

NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription

2記得右鍵選擇下面的選項

\

3 效果呢?(設置裡面出現選項)

\

4 運行結果

 
\

 

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved