我需要计算用户移动的速度。所以我们需要两件事来计算速度,它们是GPS和Accelerometer。
但两者都有其局限性。
1)GPS并非一直可用。虽然我总是获取用户的当前位置,但我Network provider只是从而不是从GPS.
2)Accelerometer不准确。
那么我应该采用哪种方法呢?
我需要计算用户移动的速度。所以我们需要两件事来计算速度,它们是GPS和Accelerometer。
但两者都有其局限性。
1)GPS并非一直可用。虽然我总是获取用户的当前位置,但我Network provider只是从而不是从GPS.
2)Accelerometer不准确。
那么我应该采用哪种方法呢?
通过传感器融合,使用它们两者可以获得最准确的结果。请参阅我之前对问题Using accelerometer to calculate speed或另一个问题GPS VS accelerometer to calculate distance的回答。
至于加速度计的精度,请参阅Get velocity from 3DVector using accelerometer sensor。
如果您想在室内跟踪用户,请在问题Android 加速度计准确性(惯性导航)中查看您实际上可以做什么。
您可以在 locationprovider 上调用 .getSpeed()
此链接提供了基于 GPS 的实现