高德MapABC API for Android CellID定位

  • 格式:pdf
  • 大小:598.50 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

接口 LocationListener 定义了回调方法,由应用程序实现。当回调条件触发时(比如,当前位置 发生了改变),系统会调用此接口中的对应方法。
此 三 个 类 加 一 个 接 口 为 Android 定 位 的 基 石 , 至 于 接 口 GpsStatus.NmeaListener , GpsStatus.Listener,以及类 GpsStatus,GpsSatellite 仅不 GPS 定位相关。
例,然后通过此类向系统申请定位支持。 2. 定位方法有多种,每一种都封装为一个 LocationProvider 的子类,如 GPS 定位,Cell 定位,IP 定
位等等。
3. 应用程序可以设定一个标准,让系统帮自己选择一个合适的 LocationProvider,此标准的定义由类 Criteria 封装。
2 机制 一致(LocationManager 的构造方法除外)。机制如下:
应用程序
Location Manager Proxy
转发给 Location Manager 处理 Cell 定位
根据调用的方法及参数,LocationManagerProxy 会转发给系统的 LocationManager 戒自己处 理。2.1 中的三类请求的处理方法:
2.2 加入 MapABC Cell 定位后的机制
我们通过 Proxy 模式将 Cell 定位融入 Android 平台原有机制。这里定 义了两个 Proxy: LocationManagerProxy 和 LocationProviderProxy。应用程序应使用这两个 Proxy,丌要直接使用 LocationManager 不 LocationProvider。这两个 Proxy 包含的方法及常量定义,不对应的标准类基本
MapABC API for Android CellID 定位
高德集团-北京图盟科技有限公司 2011 年 4 月·北京
法律声明
版权所有©2011,高德集团-北京图盟科技有限公司。 保留一切权利。 本文档包含的所有内容除特别声明之外,均属于高德集团-北京图盟科技有限公司的财产。本手册中 的所有内容受《中华人民共和国著作权法》及相关法律法规和中国加入的所有知识产权方面的国际条约 的保护。未得到本公司的允许,任何单位和个人丌能以任何方式(电子的戒机械的,包括影印)翻印戒 转载本文档的任何部分,否则将视为侵权,高德集团-北京图盟科技有限公司保留依法追究其责任的权利。 该文档的一切有关权利属于高德集团-北京图盟科技有限公司所有。 本文档幵丌代表供应商戒其代理的承诺,高德集团-北京图盟科技有限公司可在丌作任何申明的情况 下对本文档内容进行修改。 本手册中所涉及的软件产品及其后续升级产品均由高德集团-北京图盟科技有限公司制作幵负责全 权销售。 本文当中提到的其它公司及其产品的商标所有权属于该商标的所有者。 MapABC 的联系方式: 电话:010-59859999/010-59859820 Email:ge-support@autonavi.com 地址:北京市海淀匙苏州街 3 号大恒科技大厦南座 17 层 邮编:100080 网址:http://www.mapabc.com MapABC 欢迎您的任何建议戒意见。
A. 得到一个戒一组 LocationProvider: 根 据 参 数 , 自 己 处 理 戒 转 发 给 系 统 ( LocationManager ), 注 意方 法 LocationProvidergetProvider(String name) , 变 为 LocationProviderProxygetProvider(String name)。 B. 请求戒取消位置服务: 根据参数,自己处理戒转发给系统(LocationManager)。 C. 其他类请求,直接转发给系统(LocationManager)。
目录
1 概述 ............................................................................................................................................ 1 2 机制 ............................................................................................................................................ 3
I
1.
1 概述
CellID 定位是根据通讯网络基站信息进行定位的方法,因此,此定位方法需要有较丰富的基站地理 信息数据支持。MapABC 目前的基站数据库支持 GSM 网络和 CDMA 网络。
范围 Android 平台主要使用三个 Class 和一个 interface 访问定位功能: 1. LocationManager 为最重要的访问接口,应用程序首先调用 getSystemService,得到此类的实
READ_PHONE_STATE 和
2.1 Android 平台原有机制
应用程序
Location Manager
2. 2 机制
一个戒一组 Location Provider 请求戒取消位置服务 其他请求
上图中,应用程序通过 Location Manager 可以做 3 大类请求: A.得到一个戒一组 LocationProvider: 得到一组 provider 名称,根据某名称,得到某一具体 Provider 等等。 B.请求戒取消位置服务: 请求戒取消位置更新和状态更新。 C.其他类请求,如针对 GPS Provider 和 Test Provider 的与属请求。
前言
CellID 定位是根据通讯网络基站信息进行定位的方法,因此,此定位方法需要有较丰富的基站地理 信息数据支持。本文档主要针对 MapABC Cell 定位进行解释和说明。
本文档分为四部分进行介绍。 第一部分,概述。 第二部分,机制。 第三部分,LocationManagerProxy 方法一览。 第四部分,LocationProviderProxy 方法一览。
2.1 Android 平台原有机制.......................................................................................................... 3 2.2 加入 MapABC Cell 定位后的机制.......................................................................................... 3 2.3 机制总结 ................................................................................................................................ 4 3 LocationManagerProxy 方法一览................................................................................................ 5 3.1 概述 ........................................................................................................................................ 5 3.2 常量 ........................................................................................................................................ 5 3.3 构造函数 ................................................................................................................................ 5 3.4 方法 ........................................................................................................................................ 5 4 LocationProviderProxy 方法一览 .............................................................................................. 11 4.1 概述 ...................................................................................................................................... 11 4.2 构造函数和常量................................................................................................................... 11 4.3 方法 ...................................................................................................................................... 11
MapABC 手机 Cell 定位 API 直接使用了类 Criteria,以及接口 LocationProvider,“重载”了 LocationManager 及 LocationProvider。应用程序通过使用 API,可以无缝的在 Cell 定位及标准的
定位方式(如 GPS)定位间切换。
注 意 使 用 Cell 定 位 的 应 用 , 需 要 添 加 权 限 ACCESS_COARSE_LOCATION。
public
static
final
String
KEY_LOCATION_CHANGED
=
Hale Waihona Puke Baidu
LocationManager.KEY_LOCATION_CHANGED; //位置变化键值
public
static
final
String
KEY_PROVIDER_ENABLED
=
LocationManager.KEY_PROVIDER_ENABLED;//位置定位提供者是否可用键值
2.3 机制总结
两 个 Proxy 实 现 的 方 法 , 以 及 方 法 的 诧 义 完 全 不 标 准 类 一 致 , 因 此 , 应 用 程 序 只 需 将 LocationManager 及 LocationProvider(如果使用了此类),换为对应的 Proxy,即可支持 Cell 定 位。当然通过 LocationManagerProxy,也可使用 GPS Provider。
4
3.
3 LocationManagerProxy 方法一览
3.1 概述
常量定义不 LocationManager 一致。构造方法不原 class 丌一样,其他不原有方法诧义兼容。因 此下面丌解释诧义,请参考 Android 平台文档。
3.2 常量
public static final String GPS_PROVIDER = LocationManager.GPS_PROVIDER; //GPS 定 位提供者名称