定位一般分为是:GPS定位,WIFI定位,基站定位 和 AGPS定位
- GPS定位
GPS定位需要手机GPS模块硬件支持.GPS走的是卫星通信的通道,在没有网络连接的情况下也能使用,并且通过GPS方式准确度是最高的
但是比较耗电,绝大部分用户默认不开启GPS模块,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间,室内几乎无法使用
网络定位
网络定位是指利用基站或Wi-Fi访问提供近似的位置信息,这种定位方式取决于服务器,即取决于将基站或WIF节点信息翻译成位置信息的服务器 的能力.由于WIFI定位和基站定位都需要使用网络,所以在Android设备上统称为Network网络定位
- WIFI定位
根据一个固定的Wifi MAC地址,通过收集到的该Wifi热点的位置,然后访问网络上的定位服务以获得经纬度坐标.因为它
- 基站定位
各大运营商的基站已经覆盖了全国大部分地区,每个基站的ID号是全球唯一的,只要手机能接收到周围基站的信号(手机有信号),用收到该基站的信号强度当做相对基站的距离,开启流量开关,通过GPRS可以获取到手机连接基站的位置信息
Android获取网络定位的方式?
1.系统原生API,LocationManager,原生API需要使用到Google GMS(Google Mobile Service)中的网络定位服务,而国内目前没有一家通过GMS认证,所以不会有这个服务.以致于通过原生API获取不到网络定位(测试发现 小米能通过原生API获取定位信息,猜测集成了第三方定位服务,也就是如下方式).
2.百度地图SDK、高德地图SDK 等SDK(免费),目前部分国内手机通过集成这类定位服务,达到 调用原生API也能获取到网络定位的需求
Android LocationManager 获取当前位置实现:
public class GPSManager {
private static final String TAG = "GPSManager";
private LocationManager mLocationMana