如何在不需要GPS的情况下计算速度?我听说过一种叫做“传感器技术”的东西,但我不确定这意味着什么。我问,因为我想制作一个应用程序,但我不认为使用GPS是电池效率,而且它是一个长期项目,所以我希望应用程序连续运行,而无需手动打开或打开GPS。
答案 0 :(得分:4)
GPS是迄今为止最准确的方法。
您可以访问加速度计,但对于此类应用,它们的准确度不够高。
我能想到的唯一另一种方法是将其中一个蓝牙适配器插入汽车的诊断端口,然后从那里获取速度表输入。然后,你也在浪费蓝牙电源。
只需购买手机的电源适配器即可在车辆上运行。
答案 1 :(得分:4)
我尝试使用Android的加速计传感器来测量室内导航项目的速度但是失败了。我打算从加速/减速随时间推导出当前速度,因此最终计算沿X,Y和Z轴的运动,但这根本没有效果。普通Android设备的加速计传感器对于这种用途来说太不准确了。
所以,你必须使用GPS。为减少电池消耗,您可以增加LocationManager
通知您的应用程序的间隔(时间和/或距离)。请参阅它的requestLocationUpdates()方法的minTime和minDistance参数。
答案 2 :(得分:1)
Android允许您使用手机天线和Wi-Fi接入点天线作为参考点,以确定您当前的位置,而无需使用GPS(参见:locationManager.NETWORK_PROVIDER)。
一旦确定了您在两个不同时刻/点的位置,您就可以轻松地在代码中计算出您的速度。
答案 3 :(得分:0)
我不认为没有GPS的协助就可以计算速度。速度取决于距离和时间。我不确定我们是否可以像这样计算距离。 无论如何看看http://developer.android.com/reference/android/hardware/Sensor.html 我们有不同的传感器类型。也许你可以利用其中的一个。
答案 4 :(得分:0)
我认为您所指的内容将被视为“航位推算”(http://en.wikipedia.org/wiki/Dead_reckoning)并且可能,但会导致漂移和错误的速度信息,特别是如果您的应用的用户没有设备安全地安装在任何移动的地方。
您的应用进入睡眠状态并关闭GPS是否是一个有效的用例?当您将应用程序暂停时,您可以设计一种方法来重新打开GPS。如果你总是需要这个位置,那么GPS是你最好的选择。人们都知道基于GPS的应用程序需要电源,并且会想出一种方法来插入它以便长期使用它。
也许你应该考虑你的应用程序的用例,并询问人们是否愿意为你提供的任何功能消耗电池电量。
答案 5 :(得分:0)
使用加速度和时间可以计算速度的变化,但是你不必知道起始速度。另外,iPhone中的加速度计可能对此无论如何都不够准确,但这并不是一个糟糕的呼喊。