FusedLocationProviderClient中的getAccuracy Android始终返回最小值为10.0的值

时间:2018-05-16 15:58:35

标签: android location android-gps fusedlocationproviderclient

为什么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,任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:0)

因为它并不准确。融合不是最准确的方法(GPS更准确,但需要更多电池),甚至在消费级硬件的最佳情况下也会有几米不准确。