高德地图 Android API 的定位原理及使用方法

基站定位是根据通讯网络基站信息进行定位的方法,此定位方法需要有较丰富的基站地理信息数据支持。高德地图目前的基站数据库支持 GSM 网络和CDMA网络。

定位机制

Android 平台主要使用三个 Class 和一个 interface 访问定位功能:

  1. LocationManager 是定位的核心接口,应用程序首先调用 getSystemService,得到此类的实例,然后通过此类向系统申请定位支持。
  2. 定位方法有多种,每一种都封装为一个LocationProvider 的子类,如 GPS 定位,Cell 定位,IP 定位等等。应用程序可以设定一个标准,让系统帮自己选择一个合适的LocationProvider,此标准的定义由类 Criteria 封装。
  3. 接口LocationListener 定义了回调方法,由应用程序实现。当回调条件触发时(比如,当前位置发生了改变),系统会调用此接口中的对应方法。

此三个类加一个接口为 Android 定位的基石,至于接口 GpsStatus.NmeaListener,GpsStatus.Listener,以及类 GpsStatus,GpsSatellite 仅与 GPS 定位相关。

高德地图Android API移动定位直接使用了类Criteria,以及接口LocationListener,使用两个Proxy:LocationManagerProxy 和 LocationProviderProxy分别重载了LocationManager 及 LocationProvider。这两个Proxy包含的方法及常量定义,与对应的标准类基本一致(LocationManager 的构造方法除外)。应用程序通过使用API,可以无缝的在基站定位,WiFi 定位及GPS定位间切换,定位过程如下图所示:

注意使用Cell定位的应用,需要添加权限 READ_PHONE_STATE 和 ACCESS_COARSE_LOCATION。

 

移动定位开发步骤

移动定位API在高德地图Android API 中主要使用LocationManagerProxy 类、 Criteria 类和一个LocationListener 接口来实现定位功能。下面介绍移动定位的具体使用方法ÿ

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值