前奏:使用高德百度等定位,集成那么麻烦。为何不使用android自带的api进行定位。省时省力?
1.使用自带定位很简单,如下图
2.继承LocationListener
3.如果获取到就解析数据
但是,问题来了。
位置提供者就两种方式,要么network,要么gps.
问题:
1.使用gps,收不到任何回调。
2.使用network,一直回调onProviderDisabled
原因:那就是当你在室内开发时,你的手机根本就没法获取位置信息,你叫系统如何将位置信息通知给你的程序。所以要从根本上解决这个问题,就要解决位置信息获取问题。刚刚也提到了,只有NETWORK_PROVIDER这种模式才是室内定位可靠的方式,只不过由于大陆的怪怪网络,且大部分厂商也不会用google的服务,这种定位方式默认是没法用的。那怎么办?好办,找个替代的服务商就可以了,百度的位置信息sdk就可以解决这个问题。它的基本原理在上面已经提到过了,就是搜集你的wifi节点信息和你的手机基站信息来定位。