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];

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值