Android原生定位的代码网上已经很多了,就不贴出来。比如用百度地图SDK获取的经纬度在百度地图上是准确的,在高德地图上显示可能就会有一定的偏差。如果经纬度和地图不是成套使用就要考虑偏移的情况,而不是获取的经纬度不准确。有些项目不使用第三方SDK,只能用原生方法获取定位。NETWORK_PROVIDER 被迫放弃,PASSIVE_PROVIDER 只能是辅助,GPS_PROVIDER 需要增加精度。我是这么处理的:1. addGpsStatusListener 监听卫星状态,当信号值 > 1 的卫星数量在4颗以上,才可以使用 GPS_PROVIDER;2. 速度>0.5 且 精度 < 50 才会被认为是有效的经纬度数据。为何不使用android自带的api进行定位。好办,找个替代的服务商就可以了,百度的位置信息sdk就可以解决这个问题。
暂无评论