对不起,如果这被其他地方覆盖,但我无法专门找到这个问题。
我正在开发一款赛车应用程序,可以根据预设的目标速度告诉您前方或后方的秒数。
为了测试它,我们使用的车载计算机直接从车上读取速度(没有GPS)。我的应用似乎与车载电脑相匹配,直到汽车开始变慢,然后我的应用变得不稳定。
这是一个大约1:38出现问题的视频 http://www.youtube.com/watch?v=GhVM1VCqiA8
该应用程序有时候点亮的事实让我相信GPS覆盖率和计算时间的公式都很好。
显然存在准确性问题,尤其是当汽车减速时。
以下是我跟踪速度的一些代码。
LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
actualSpeedMps = (double)loc.getSpeed();
}
////more
我在想GPS正在尝试更新太快,因此当汽车突然发生变化时,会给我不稳定的速度。
我的想法是将requestLocationUpdates最小时间参数(当前为0)更改为类似500.
我从一个基础教程中学习了这个课程,所以也许有人可以将我推荐给一个能让我提高速度的更准确的课程。
提前致谢
答案 0 :(得分:0)
该应用程序有时候点亮的事实让我相信这个 GPS覆盖范围和计算时间的公式都很好。
通常,您的值是红色设备的值的两倍或三倍。 当你以30米/小时的速度行驶时。 GPS在中速和高速(如车辆)中超级精确
因此,当您获得GPS位置时,问题显然在您的算法和假设中。
我认为GPS正在尝试更新太快,因此 当汽车突然改变时,给我不稳定的速度。
肯定不会,它不会每秒更新超过一次。 你只有站着不动才会遇到GP问题,然后它通常不会报告0公里/小时,但这是另一个故事。
<强>结论:强>
GPS不是错误的来源,而是你的算法。
TIPPS: