难道Win8版高德地图定位原理真
定位机制
Android 平台主要使用三个 Class 和一个 interface 访问定位功能:
LocationManager 是定位的核心接口,应用程序首先调用 getSystemService,得到此类的实例,然后通过此类向系统申请定位支持。
定位方法有多种,每一种都封装为一个LocationProvider 的子类,如 GPS 定位,Cell 定位,IP 定位等等。应用程序可以设定一个标准,让系统帮自己选择一个合适的LocationProvider,此标准的定义由类 Criteria 封装。
接口LocationListener 定义了回调方法,由应用程序实现。当回调条件...全部
定位机制
Android 平台主要使用三个 Class 和一个 interface 访问定位功能:
LocationManager 是定位的核心接口,应用程序首先调用 getSystemService,得到此类的实例,然后通过此类向系统申请定位支持。
定位方法有多种,每一种都封装为一个LocationProvider 的子类,如 GPS 定位,Cell 定位,IP 定位等等。应用程序可以设定一个标准,让系统帮自己选择一个合适的LocationProvider,此标准的定义由类 Criteria 封装。
接口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如果对你有帮助就点击 有用 谢谢啦,。收起