使用GPS应用程序我发现在车内我可能会收到3颗低质量信号的卫星。 GPS永远不会锁定,所以不需要GPS就能工作。 GPS应用程序表示它的精确度为0英尺,这意味着需要GPS的应用程序永远不会被通知GPS信号成功。
在应用程序中有什么方法可以在信号质量低时获得非常粗糙的GPS信息?如果我所能做的就是获得粗略的速度和方向,那么我正在编写的应用程序将非常有效。我不需要精确定位信息。
我知道我可以使用单元格信号来获取位置信息,但这些信息对于获取速度和方向毫无用处。我找不到任何使用加速度计获取粗略信息的示例代码,但即使我这样做,只有在汽车停止时启动应用程序才能工作(因此它可以检测到加速度)。
如果我能得到一个非常粗略的信号,我应该能够计算速度和方向,但似乎没有办法为此注册听众。
答案 0 :(得分:1)
从技术上讲,如果你可以从3颗卫星获得一个好的信号,你可以得到修复。我不确定Android上是否启用了这样的低质量修复程序,但这是可能的。
关于加速度计,它不够准确,无法了解方向。如果发生振动,你会发现太多噪音。
也许你应该在车顶上连接蓝牙GPS。
答案 1 :(得分:1)
要获得速度,只有GPS_PROVIDER可以提供帮助。你所能做的就是将minTime和minDistance设置为0.即requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, listener)
不要放任何标准。这将充分利用你的android里面的GPS硬件芯片。然而,这会更快地耗尽电池。我观察到,即使你在房间内稍微移动一下,在获得第一次GPS定位后,GPS更新的流程仍然继续,否则它将永远无法得到修复。关于在运动中获取方向,如果您知道车内设备的位置,您可以考虑跟踪加速度计读数,并在方向监听器的帮助下检查axis您获得更多的混蛋,然后这会给你动作的方向。
答案 2 :(得分:0)
我不知道有任何方法可以获得“低质量”信号。在我自己的应用程序中,我注意到一旦我有6-7 +卫星,GPS通常会收到它的第一个修复,但这可能会有所不同(我从未见过仅有3个修复)。
根据连接的卫星数量,您无法确定是否有修复方法。
答案 3 :(得分:0)
我认为您需要四颗卫星才能获得正确的GPS读数(GPS方程中每个变量一个),但市场上的许多Android设备都可以使用磁力计。如果你校准它(在图8中挥动4或5个周期),你可以使用“指南针”获得非常准确的方向确定。
除了使用GPS之外,我不知道有任何计算速度的技巧。