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定位学习笔记的内容介绍完了,希望本文对你有所帮助。