Android中有没有办法在没有GPS的情况下获得速度?我不需要准确的值。
答案 0 :(得分:2)
嗯,有点,但你需要做很多处理......
您可以频繁地加速度计读数和integrate the values once to get velocity。这不会让你获得准确的起步速度,但过了一段时间它可能会起作用(除非你在手机开车时开始)。另见this post。
现在,一些伪代码:
我们从t=0
开始,测量所有三个轴的加速度。
a = get_acceleration()
vx = vx + a.x - gravity.x;
vy = vy + a.y - gravity.y;
vz = vz + a.z - gravity.z;
这样做几秒钟后,所有加速度值的总和(如果经常采样,即50Hz)应该是速度。您还需要确定设备的哪个方向,因此您读取的加速度组件有多少是由于重力和补偿造成的。