来源: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. Python几个标准类型内建函数

    Python提供了一些内建函数用于基本对象类型:cmp(),repr(),str(),type()和等同于repr()的(' ')操作符 (1)type() type的用法如下: type(objec ...

  2. sql server 排序规则

    /*   排序规则根据特定语言和区域设置的标准指定对  字符串  数据 进行排序和比较的规则.   以 ORDER BY 子句为例:如果按升序排列,说英语的人认为字符串 Chiapas 应排在 Col ...

  3. linux包之sysstat之sar命令

    要启动SAR,必须通过cron工具以周期性的间隔启动.安装sysstat包后,默认创建一个/etc/cron.d/sysstat文件,其默认内容为:# run system activity acco ...

  4. 【转】.NET多种WebKit内核/Blink内核浏览器初步测评报告

    第1篇:.NET多种WebKit内核/Blink内核浏览器初步测评报告 本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.com/?p=23590 报告研究时间:2013-10- ...

  5. 深入理解ThreadLocal

    ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地 ...

  6. ubuntu 使用adb shell命令识别android设备

    ubuntu 使用adb shell命令配置 在ubuntu下使用adb 命令识别Android设备需配置adb_usb.ini 文件 文件路径:  ~/.android/ ,若不存在创建该文件. a ...

  7. [oracle] 设置PL/SQL Developer 字符集

    我安装的是PLSQL Developer(10)执行SQL发现弹出的错误提示对话框都是??表示,显示不出正确的提示信息.后来才明白是跟服务器的字符集不匹配的问题.方法如下:1.查询oracle ser ...

  8. 内容模块PC标签调用说明

    内容模块 模块名:content 模块提供的可用操作 操作名 说明 lists 内容数据列表 relation 内容相关文章 hits 内容数据点击排行榜 category 内容栏目列表 positi ...

  9. Servlet Filter 1

    1.Filter简介 )Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图 ...

  10. 程序员书单_HTML篇

    JavaScript权威指南(第六版) http://download.csdn.net/detail/shenzhq1980/9137733 改善JavaScript程序的188个建议 http:/ ...