我遇到GPS fluctuation.问题

我正在计算distance upon the location change callback,因此当设备空闲时,由于这种波动问题,距离会增加。

我一直在使用FusedLocationProviderClient进行位置更新。

 fusedLocationClient.requestLocationUpdates(locationRequest,
                   locationCallback, Looper.myLooper());




fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
            mLocationCallback = new LocationCallback() {
                @Override
                public void onLocationResult(LocationResult locationResult) {
                    super.onLocationResult(locationResult);
                    onNewLocation(locationResult.getLastLocation());
                }
            };


 private void createLocationRequest() {
    locationRequest = new LocationRequest();
    locationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS);
    locationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}

最佳答案

GPS的定位精度不超过4或5米。也就是说,每次计算位置时,半径都不得小于4米。有时,计算出的位置会向前方移动米,有时向左,向后移动米。

如果您不希望考虑这些小变化,则必须由您的代码来区分用户是否真正移动。

听起来很难,是的,但这是应用程序或GPS设备计算接近正确距离的优点。

07-24 09:32