iPhone SDK提供了三个类来管理位置信息:CLLocation CLLocationManager 和 CLLHeading(不常用)。除了使用GPS来获取当前的位置信息外,iPhone也可以基于WiFi基站和无线发射塔来获得位置信息。GPS的精度最高,可以精确到米级别,但是也最耗电。
一、CLLocation
CLLocation类代表一个位置信息,其中还包括了方向和速度。
CLLocation具有下面的属性和方法:
***@property CLLocationCoordinate2D coordinate; //以经度和纬度表示的位置信息
***@property CLLocationDistance altitude; //海拔
***@property uracy uracy; //水平精度(如:精确到米)
***@property uracy uracy; //垂直精度
***@property CLLocationDirection course; //方向
***@property CLLocationSpeed speed; //速度
-(NSDate *)timeStamp; //时间戳
-(CLLocationDistance)distanceFromLocation:(CLLocation *)location; //两个位置之间的距离
二、CLLocationManager
CLLocationManager类管理和提供位置服务。
它的属性和方法有:
***@property CLLocation *location; //位置
***@property id<CLLocationManagerDelegate> delegate;
***@property CLLocationDistance distanceFilter; //距离过滤,比如:500以内
***@property uracy uracy; //垂直精度
-(void) startUpdatingLocation; //开始更新位置(比如:你在往某个地方走)
-(void)stopUpdatingLocation; //停止更新位置
-(void)startUpdatingHeading; //开始更新方向(比如:你改往东走)
-(void)stopUpdatingHeading; //停止更新方向
三、CLLocationManagerDelegate
CLLocationManagerDelegate是一个委托类。你的应用程序需要实现这个委托类。
当用户改变位置的时候,CLLocationManager回调的方法是:
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation;
当用户改变方向的时候,所调用的方法是:
-(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLLHeading *)newHeading;
当iPhone无法获得当前位置的信
iOS地图位置开发方法 来自淘豆网m.daumloan.com转载请标明出处.