为什么FusedLocationProviderClient中的getAccuracy方法总是返回最小值为10.0(从不低于10)的值?
mLocationRequest = new LocationRequest();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(UPDATE_INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
mLocationRequest.setSmallestDisplacement(0);
getFusedLocationProviderClient(getApplicationContext()).requestLocationUpdates(mLocationRequest, new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
// do work here
longFused=locationResult.getLastLocation().getLongitude();
latFused=locationResult.getLastLocation().getLatitude();
accFused=locationResult.getLastLocation().getAccuracy();
sendMessageToUI(longFused, latFused, accFused,locationResult.getLastLocation().getTime());
}
},
Looper.myLooper());
使用该代码,我总是得到满足,从不低于10.0,任何人都可以提供帮助吗?
答案 0 :(得分:0)
因为它并不准确。融合不是最准确的方法(GPS更准确,但需要更多电池),甚至在消费级硬件的最佳情况下也会有几米不准确。