我有一个在后台运行的服务,用于监视位置变化,然后在地图上绘制“路线”。
问题是,当我在地图上查看路线时,它显示在我停留一段时间(几分钟)的位置,我的位置在该位置周围跳跃而不是静止,因此路线看起来很糟糕。
有没有办法阻止这个,以便我有一个很好的连续路径?
我尝试更改位置更新之间的最小距离,但似乎没有做任何事情
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);
答案 0 :(得分:2)
问题不在于您的代码,而是在于Satelite和GPS准确性。它无法显示确切的位置。因此,您需要制作类似的东西(如果位置在5米以下更改,请不要通知我)。
<强>更新强>
此外,您可以使用location.getSpeed();
来获取设备移动的速度,以便您可以定义更改的位置是否可靠。如果Satelite或GPS精度有一点小故障,设备可能会以3480834 km / h或类似的速度移动。