来源:http://www.cnblogs.com/lovecode/archive/2011/12/24/2300579.html

iPhone定位来源通常有:
1. GPS定位

2. WiFi定位

3. 蜂窝基站定位
iPhone分阶段处理定位问题,它根据请求的精确度使用不同的方法。

如何利用Core Location服务实现精确定位iPhone用户的位置:

  • 首先将Core Location框架添加到项目中。另确保在代码中#import <CoreLocation/CoreLocation.h>头文件。
  • 分配一个定位管理器。将此管理器的委托(delegate)设置为主视图控制器或应用程序委托。另外,还可设置此管理器所需的distance filter和准确性。
    distance filter以米为单位设置最小距离。使得设备必须移动至少这些距离才可以注册新更新。
    accuracy属性设置所需的精度。
  • 通过测试定位管理器的locationServicesEnabled属性来检查用户是否已启用Core Location。而iOS4.0开始使用类方法locationServicesEnabled来检测。
  • 开始定位。告诉定位管理器开始更新位置。找到位置时,系统回调会通知你。
  • 处理定位事件委托回调。要处理两种类型的回调:locationManager:didUpdateToLocation:fromLocation:和locationManager:didFailWithError: 将这些委托方法添加到代码中来捕获位置更新。
  • 等待。随着位置数据逐步可用,回调会异步到达。

位置属性
更新的位置回调返回的每个CLLocation实例都包含一组属性,这些属性描述设备移动时的位置。

  • altitude           海拔值,单位m(米)
  • coordinate       地理位置(即纬度latitude、经度longitude
  • course             以角度值表示设备行进方向(0度朝北、90度朝东、180度朝南、270度朝西)
    注意:要获得更高的精确度,应使用heading(CLHeading实例)而不是course。heading通过磁力计获取磁性和真正的北向。
  • horizontalAccuracy
  • verticalAccuracy
  • speed        设备的速率,单位是m/s。最适用于车载速率而非行走速率。
  • timestamp 进行位置测量时的时间。
 

iPhone的定位技术与Core Location框架的更多相关文章

  1. iOS8后core location框架启动定位服务的步骤

    1.在使用CoreLocation前需要调用如下函数[iOS 8专用]: iOS 8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法: (1)始终允 ...

  2. Core Location Framework学习

    在Apple开发中,尤其是移动设备开发,经常会使用Core Location Framework,这个框架可以使得iOS设备获取当前的地理位置.本文就具体到Core Location 框架中,查看其声 ...

  3. Core Location和MapKit的一些简单使用

      Core Location 1. 基本对象是CLLocation,有属性coordinate, altitude, horizontal/vertical Accuracy, timestamp, ...

  4. iOS 苹果自带地图定位Core Location

    Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先 ...

  5. Core Location :⽤用于地理定位

    Core Location :⽤用于地理定位 在移动互联⽹网时代,移动app能解决⽤用户的很多⽣生活琐事,⽐比如 导航:去任意陌⽣生的地⽅方 周边:找餐馆.找酒店.找银⾏行.找电影院 在上述应⽤用中, ...

  6. 关于Core Location-ios定位

    IOS中的core location提供了定位功能,能定位装置的当前坐标,同一时候能得到装置移动信息.由于对定位装置的轮询是非常耗电的,所以最好仅仅在非常必要的前提下启动. 当中,最重要的类是CLLo ...

  7. CoreLocation定位技术

    CoreLocation框架可用于定位设备当前经纬度,通过该框架,应用程序可通过附近的蜂窝基站,WIFI信号或者GPS等信息计算用户位置.      iOS定位支持的3种模式.      (1)GPS ...

  8. iOS开发-Core Location和Map Kit

    一.Core Location确定物理位置 利用以下3种技术: 1.GPS(最精确的) 2.蜂窝基站ID定位(cell ID Location) 3.WPS(Wi-Fi Positioning Ser ...

  9. 位置指纹(LF)定位技术简介-室内定位

        信号的多径传播对环境具有依赖性,呈现出非常强的特殊性.对于每个位置而言,该位置上信道的多径结构是惟一的,终端发射的无线电渡经过反射和折射,产生与周围环境密切相关的特定模式的多径信号,这样的多径 ...

随机推荐

  1. 动态链接库中函数的地址确定---PLT和GOT [转]

    前面写过动态链接库 延迟绑定的一篇博文,那篇文章我非常喜欢,但是当时刚搞清楚,自己写的比较凌乱,我最近学习了Ulrich Drepper的How to write share library,学习了几 ...

  2. 矩阵的QR分解(三种方法)Python实现

    1.Gram-Schmidt正交化 假设原来的矩阵为[a,b],a,b为线性无关的二维向量,下面我们通过Gram-Schmidt正交化使得矩阵A为标准正交矩阵: 假设正交化后的矩阵为Q=[A,B],我 ...

  3. C# Regex.IsMatch (正则表达式验证:数字、小数点、邮件、计算表达式)

    public bool isInt(string str) { //^([+-]?)表示加减号只能出现在字符串开头且只有一位 ///d*表示后面可以有多个或一个十进制数 //$表示字符串结尾 retu ...

  4. lucene 索引合并策略

    在索引算法确定的情况下,最为影响Lucene索引速度有三个参数--IndexWriter中的 MergeFactor, MaxMergeDocs, RAMBufferSizeMB .这些参数无非是控制 ...

  5. Java 编程实践

    创建一个54个元素的整数数组,并将其元素值依次赋值为:1~54,用于表示一副牌的54张.再创建一个12个元素的整数数组,用于表示某玩家手中的牌,然后从前一数组中随机抽取12个元素赋值给该数组.打印后一 ...

  6. shell之变量与read

    环境变量 set 环境变量可供shell以外的程序使用 shell变量 env shell变量仅供shell内部使用 set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell ...

  7. linux包之sysstat之mpstat与pidstat命令

    概述 [root@localhost ~]# rpm -qa|grep sysstsysstat-9.0.4-22.el6.x86_64mpstat是MultiProcessor Statistics ...

  8. Q4: Two Sum

    问题描述: Given an array of integers, find two numbers such that they add up to a specific target number ...

  9. string 字符串的分隔处理与list的相互转换

    在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串.(来源于MSDN) 有两个重载函数:[C#]public static string Join(   ...

  10. android 旋转手机的时候,如何忽略onCreate再次被系统调用?

    实现一个程序,主要是不想在手机横竖屏的时候重新onCreate,所以在配置文件中增加了配置选项: android:configChanges="orientation|keyboardHid ...