gpt4 book ai didi

android - 检查设备是否真的在移动

转载 作者:行者123 更新时间:2023-11-29 21:16:34 25 4
gpt4 key购买 nike

我正在开发一个需要获取汽车速度的应用程序。要获得速度,我知道我可以使用类似 double speed =locationB.getSpeed();` 的东西,但是当我测试时,当我坐着时,速度在 0.0 到 40 km/h 之间变化就在我的笔记本电脑后面一动不动。在汽车中,速度实际上接近于汽车的速度,所以这应该不是问题。

检查设备是否真的在移动的最佳方法是什么?我已经尝试获取 locationAlocationB 之间的距离,并将其与获取 2 个位置所花费的时间一起使用,以获得速度。

double distance = locationA.distanceTo(locationB);
double speed = (distance / time) * 3600 / 1000;

然而,这似乎一点也不稳定,就像 getSpeed() 方法一样。

有没有办法只在设备移动时显示速度?它可靠吗?

感谢任何帮助,

谢谢。

最佳答案

检查Location的水平精度属性。
如果小于 30m,则可以忽略该位置。

如果您坐在笔记本电脑上并获得速度 = 40 公里/小时(我从未在良好的 GPS 设备中看到过),那么请看 hor。准确性是。它可能超过 30m。

在基于 GPS 的系统中,永远不要根据时间的位置变化来计算速度,只需使用 location.getSpeed()。原因是 GPS 芯片通过物理多普勒效应在内部计算速度,而不是通过位置变化。当静止不动或速度非常低时,这效果不佳,因此您必须过滤掉非常低的速度和不良的 gps 信号。 (通过水平精度估计)

关于android - 检查设备是否真的在移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com