Core Location 简述
来源:互联网 发布:java object转string 编辑:程序博客网 时间:2024/05/05 11:59
Core Location可以利用三种技术来实现:GPS、蜂窝基站三角网定位(cell tower triangulation)和Wi-Fi定位服务(WPS),其中GPS是最精确的。
我们只用告诉Core Location我们想要的精度级别,它将从它可用的技术中决定哪种可以更好地满足你的需求。
为了与Core Location打交道,需要创建一个位置管理器实例,如下所示:
CLLocationManager *locationManager = [[CLLocationManageralloc]init];
这将创建一个实例,但它并没有马上开始工作。
设置委托和请求指定精度级别:
locationManager.desiredAccuracy =kCLLocationAccuracyBest;
这将指定最高精度级别,其他值还有:kCLLocationAccuracyNearestTenMeters、kCLLocationAccuracyHundredMeters、kCLLocationAccuracyKilometer和kCLLocationAccuracyThreeKilometers。
设置距离筛选器:
locationManager.distanceFilter = 1000.0f;
将告知位置管理器直到iPhone已经从以前报告的位置移动至少1000米之后才通知其委托,重置使用kCLDistanceFilterNone。
启动位置管理器:
[locationManager startUpdatingLocation];
停止位置管理器:[locationManager stopUpdatingLocation];
使用CLLocation获取纬度和经度:
CLLocationDegrees*latitude = theLocation.coordinate.latitude;
CLLocationDegrees *longitude = theLocation.coordinate.longitude;
另外,horizontalAccuracy属性描述以coordinate作为其中心的一个圆的半径。此值越大,位置就越不准确。
altitude属性能告诉你你在海平面以上还是以下多少米。
verticalAccuracy表示Core Location在其精确的海拔方面的准确程度。
CLLocation还有一个非常实用的方法,通过大圆计算获得两个CLLocation对象之间的距离:
CLLocationDistancedistance = [fromLocation distanceFromLocation:toLocation];
CLLocationManagerDelegate有两个委托方法,当更新位置的时候,将调用locationManager:didUpdateTolocation:fromLocation:方法。
当遇到错误的时候,调用locationManager:didFailWithError:方法。错误代码有kCLErrorDenied和kCLErrorLocationUnknow两种。前者通常表示访问拒绝(可能是由用户拒绝),并且应用程序之后都将无法访问Core Location。后者的错误一般可能是临时的。
- Core Location 简述
- Core Location 简述
- Core Location
- 缓存Location属性 简述
- 使用Core Location
- IOS Core Location
- Core Location之指南针
- Core Location Framework学习
- Core Location定位
- iOS8 Core Location
- Core Location初心者
- iOS_mapKit与Core Location
- Core Location Framework学习
- Core Location的使用
- Cocoa框架-Core Location
- Core Location定位
- ios-Core Location框架
- Core Server Layer中Core Location学习心得
- BlueMix DevOps服务
- tomcat线程配置
- Android修炼之道—Java线程池
- HDU 4003 Find Metal Minaral 树上瞎搞分组背包
- SQLITE3 C语言接口 API 函数简介
- Core Location 简述
- Android网络(4):HttpClient必经之路----使用线程安全的单例模式HttpClient,及HttpClient和Application的融合
- mongodb
- CF 427D Match & Catch 求最短唯一连续LCS
- Learn Java for Android Development Second Edition 笔记(五)
- 对话框的OnSize()和OnWindowPosChanged()的理解
- ArcGIS中制作GPS点位轨迹线及多边形
- 使用SysTick的普通计数模式对延迟进行管理
- 类求解长方体体积