iPhone開發應用中CoreLocation定位學習是本文要介紹的內容,iPhone可以使用CoreLocation架構確定他的物理位置,可以利用三種技術來實現該功能:GPS,WiFi定位和蜂窩基站三角網定位。但在程式中我們只需設定我們希望的精度層級,由CoreLocation決定採用哪種技術可以更好的滿足我們的請求。
1、位置管理器
- CLLocationManager *locationManager = [[CLLocationManager alloc] init];//建立位置管理器
- locationManager.delegate=self;//設定代理
- locationManager.desiredAccuracy=kCLLocationAccuracyBest;//指定需要的精度層級
- locationManager.distanceFilter=1000.0f;//設定距離篩選器
- [locationManager startUpdatingLocation];//啟動位置管理器
2、位置管理器代理
主要的代理方法有兩個
- //確定當前位置和位置更新了時調用這個方法
-
- - (void)locationManager:(CLLocationManager *)manager
- didUpdateToLocation:(CLLocation *)newLocation
- fromLocation:(CLLocation *)oldLocation
- {
- NSString *latitudeString=[[NSString alloc] initWithFormat:@"%g",newLocation.coordinate.latitude];
- //latitudeLabel.text=latitudeString;
- [latitudeString release];
- NSString *longitudeString=[[NSString alloc] initWithFormat:@"%g",newLocation.coordinate.longitude];
- //longitudeLabel.text=longitudeString;
- [longitudeString release];
- }
- //位置查詢遇到錯誤時調用這個方法
-
- (void)locationManager:(CLLocationManager *)manager
- didFailWithError:(NSError *)error
- {
- NSString *errorType = (error.code == kCLErrorDenied) ?
- @"Access Denied" : @"Unknown Error";
- UIAlertView *alert = [[UIAlertView alloc]
- initWithTitle:@"Error getting Location"
- message:errorType
- delegate:nil
- cancelButtonTitle:@"Okay"
- otherButtonTitles:nil];
- [alert show];
- [alert release];
- }
小結:iPhone開發應用中CoreLocation定位學習筆記的內容介紹完了,希望本文對你有所協助。