问题描述
在使用百度定位服务时,无论室内还是室外,位置总是不准。在回调处打印日志发现百度地图定位一直在用基站定位,可我配置的是高精度定位。
原因
最后找到原因,我在使用百度地图定位时只想获取单次定位,用完之后立马关闭定位想节省资源。而gps定位连接卫星需要几秒钟的时间(看手机好坏),在这期间百度地图定位会给你基站定位,于是我不断的mLocationClient.start(); mLocationClient.stop();,一直获取基站定位导致不准。
解决方法
调用mLocationClient.start(); 后用 mLocationClient.requestLocation();获取后面的定位,这样虽然会导致gps常开导致电量消耗极快,但是为了准确的定位木有办法。鱼和熊掌不可兼得。