手机定位(原生android定位)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wk_beicai/article/details/80040153
手机的定位分为卫星定位和网络定位两大类;
卫星定位:
它服务由几个全球卫星导航系统提供,主要包括美国的GPS,中国北斗等,它是根据多颗卫星与导航
芯片的通信结果得到手机与卫星距离,然后计算手机当前所处的经度,纬度以及海拔高度,使用卫星定位需要开启手机上的GPS功能,(最好在室外使用)
网络定位:
网络定位有基站定位和wifi定位两个子类,手机插入sim卡会搜索周围基站信号并接入通讯服务,
(手机基站俗称铁塔)
WIFI定位的原理是手机接入某个公共热点网络,通过查询wifi路由器的位置便可得知接入该wifi手机的大致位置;

获取定位信息:
想要获取手机当前所处的位置信息:需要一系列定位工具,
1)定位条件器Criteria
2) 定位管理器LocationManager
3) 定位监听器 LocationListener

1.定位条件器
它是用于设置定位的前提条件,精确速度,海拔,方位等信息,
参数讲解:
1)setAccuracy :设置定位精确度。有两个取值,FINE 表示精确高, COARSE 表示精确低
2)setSpeedAccuracy :设置速度精确度
精度高误差小于100
精确中误差小于100到500之间
误差低 大于500
3)setAltitudeRequired : 设置是否需要海拔信息 ture需要 false表示不需要
4)setBearingRequired :设置是否需要方位信息
5)setCostAllowed: 设置是否允许运营商收费

2.定位管理器
定位管理器用于获取定位信息提供者,设置监听器,并获取最近一次位置信息。
定位管理器的对象从系统服务LOCATION_SERVICE获取。
常用方法如下:
getBestProvider: 获取最佳的定位信息提供者,
第一个参数为定位条件器Criteria的实例,第二个参数取值true表示只要可用的;
定位提供者的信息:GPS(卫星定位) network(网络定位) passive(无法定位)
isProviderEnabled : 判断指定的位置提供是否可用
getLastKnownLocation 获取最近一次定位
requestLocationUpddates: 设置定位监听器,
removeUpdates 移除定位监听器
addGpsStatueListener 添加定位状态的监听器

3定位监听器; LocationListener
用于监听定位信息的变化事件,如定位提供者的开关,位置信息发生变化等。
onLocationChanged: 在位置地点发生变化时调用,在此可获取最新位置信息
onProviderDisabled:定位提供者被用户关闭时调用
onProviderEnabled :在定位提供者被用户开启时调用
onStatusChanged: 在定位提供者的状态变化时调用,

猜你喜欢

转载自blog.csdn.net/wk_beicai/article/details/80040153
今日推荐