位置getAccuracy()不适用于GPS

时间:2015-12-08 13:27:53

标签: android gps

有各种类型的地点。网络位置和GPS位置。在网络位置,getAccuracy()工作正常。

但是在GPS位置我得到的位置是getAccuracy()= {5m,10m,15m}。我在地图上检查位置,有时候还可以。但在40%的情况下{5m,10m,15m}是真实的{300m,100m,500m}。

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES,
                locationListenerGPS);

(...)

LocationListener locationListenerGPS = new LocationListener() {

    public void onLocationChanged(Location location) {

        //Process location
        sendLocation(location);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    public void onProviderEnabled(String provider) {

    }

    public void onProviderDisabled(String provider) {

    }

};

在示例图像中,getAccuracy()= 6.6m,实际误差为239.15m

enter image description here

2 个答案:

答案 0 :(得分:1)

Location#getAccuracy()提供了估计位置在给定半径内的概率为68%。无法保证真实位置始终在所提供的精度范围内。

答案 1 :(得分:0)

如果您希望将这些GPS坐标捕捉到道路上,请尝试Google Roads API

使用此API时,获得超精确的gps坐标并不重要。