在我的应用程序中,我根据 GPS 位置计算了速度。
由于 GPS 接收器即使在同一位置也可能具有不同的坐标,因此即使手机在我的桌子上,我的应用程序也会记录速度。
如果我在同一位置接收 GPS 数据,我需要避免它。
我正在考虑添加一些基于“方位”的逻辑,这样我就可以确定手机是否真的在移动,或者它正在从任何方向接收跳跃的位置数据。
在此之前我想知道有没有其他方法可以避免这种数据?
根据 Javadoc 的方法 request public void requestLocationUpdates (long minTime , float minDistance , Criteria criteria, PendingIntent intent) found here
minTime 位置更新之间的最小时间间隔,以毫秒为单位 minDistance
位置更新之间的最小距离,以米为单位
所以你可以使用minDistance
参数来避免在很短的距离内获得更新......
在研究了许多方法之后,我用轴承对其进行了编程。
我正在根据最近 5 个位置获得速度。我添加了逻辑来检查每个位置与下一个位置的方位,如果所有方位都有较大的差异,我假设位置是从随机方向接收的,因此设备实际上没有移动。
它对我很有用:)