2

我有一个在后台运行的服务,它监视位置变化,然后我在地图上绘制“路线”。

问题是当我查看地图上的路线时,它显示在我停了一段时间(几分钟)的位置,我的位置在该位置周围跳跃而不是静止,因此路线看起来很糟糕。

有没有办法阻止这种情况,以便我有一个很好的连续路径?

我尝试更改位置更新之间的最小距离,但这似乎没有任何作用

locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE);

    String provider = locationManager.getBestProvider(criteria, true);

    if(provider == null){
        provider = LocationManager.NETWORK_PROVIDER;
    }
    locationManager.requestLocationUpdates(provider,25000,50, this);
4

1 回答 1

2

问题不在于您的代码,而在于卫星和 GPS 精度。它无法向您显示确切的位置。所以你需要做类似的事情(如果位置改变低于 5 米,请不要通知我)。

更新

您还可以使用location.getSpeed();获取设备移动的速度,以便定义更改的位置是否可靠。如果卫星或 GPS 精度出现小故障,设备可能会以 3480834 公里/小时或类似的速度移动。

于 2013-05-10T18:16:07.143 回答