1

嗨,我正在开发小型 android 应用程序,我想在其中计算用户使用设备加速度计覆盖的用户速度和距离。所以我做了什么,我在 1 分钟的时间范围内采集了加速度样本。从加速度计我得到 xy 和 z 坐标。我取了 x 坐标值并取其平均值。并据此计算用户的速度。

但它没有给出适当的价值。有没有办法做到这一点?如何做到这一点,这样它会给我很好的近似值?我通过以下方式做到了这一点:

// sum of no samples of acceleration points 
sum_acc = sum_acc+event.values[0];
// avg of acc
avg_acc = sum_acc/no_of_samples;
// speed of user 
speed = avg_acc*time_frame;
// distance
distance = speed*time;

我需要更好更准确的结果。需要帮忙。谢谢你。

4

1 回答 1

0

你说速度和距离,

对于Speed,不使用加速度计,而是在给定的时间间隔内发出 Location 请求,在该时间间隔内获取两个位置并将其转换为英里,然后将位置除以时间间隔。从那里,你有你的速度。要提出位置请求并获取更新,请点击此链接

对于距离,使用 Geolocator api 并在给定的时间间隔后请求设备的当前位置,将所覆盖的距离相加,即可得到总距离。

于 2017-09-21T23:46:01.787 回答