WEB开发网
开发学院手机开发iPhone 开发 关于iphone定位的基本知识 阅读

关于iphone定位的基本知识

 2012-05-25 13:22:50 来源:WEB开发网   
核心提示:停止方法: [locationManager stopUpdatingLocation]; 7.The Location Manager Delegate Location Manager必须遵守CLLocationManagerDelegate协议,CLLocationManagerDelegate协议定义了两个方
停止方法: [locationManager stopUpdatingLocation];
7.The Location Manager Delegate
Location Manager必须遵守CLLocationManagerDelegate协议,CLLocationManagerDelegate协议定义了两个方 法,并且这两个方法都是可选的。其中一个方法是当确定当前位置或是位置信息改变时调用。另一个方法是当遇到错误信息时调用
8.Getting Location Updates
当Location Manager想通知它的代理当前位置时,它会调用
locationManager:didUpdateToLocation:fromLocation: 方法。
这个方法有3个参数第一个参数Location Manager。第二个参数是一个CLLocation对象用来确定当前位置,第三个是CLLocation 对象用来确定最近一次更新的位置。该方法调用时,先前的location对象会被置空。
9.Getting Latitude and Longitude Using CLLocation
经纬度
位置信息是通过使用CLLocation类的实例从Location Manager那里得到的。这个类有5各属性。latitude和longitude被封装在coordinate属性中。
获取方式如下:
CLLocationDegrees latitude = theLocation.coordinate.latitude;
CLLocationDegrees longitude = theLocation.coordinate.longitude;
CLLocation对象还可以告诉你精确度。
horizontalAccuracy属性描述调整的中心点。horizontalAccuracy值越大越不精确。
CLLocation 还有一个叫altitude的属性用来表示海拔
CLLocationDistance altitude = theLocation.altitude;
每一个CLLocation对象都有一个叫verticalAccuracy的属性来判断精确度。海拔数值可能会有verticalAccuracy大小的误差,当verticalAccuracy为负值时,那是Core Location在通知你不能获取海拔高度。
CLLocation的另一个属性timestamp用来告诉Location Manager是什么时候定位的。CLLocation还有一个实例方法来告诉你的两个CLLocation对象之间的距离。这个方法叫:getDistanceFrom:
它是这样工作的:
CLLocationDistance distance = [fromLocation getDistanceFrom:toLocation];
返回两个时间段内的距离,有时候它是不考虑海拔的,所以要自己计算距离。
10.Error Notifications
如果Core Location不能指定你当前的位置,它将调用CLLocation的第二个代理方法:locationManager:didFailWithError:,最常见的是用户取消使用定位信息。 

上一页  1 2 

Tags:关于 iphone 定位

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接