我正在开发一个Android应用程序,它与Uber、OLA等非常相似。
我有谷歌地图来帮助司机导航。总距离是从 A 点到 B 点计算的,并根据行驶的距离给出一个金额。试验效果很好,只有0.2公里的小误差,这很好!
我面临的问题是漂移 GPS 并获取速度。 GPS 漂移会增加不必要的距离值,因此距离会不断增加。我有一个使用的想法:
location.getSpeed();
从谷歌地图API获取速度,这样我就可以将距离计算限制为仅当速度大于0时。但是即使我在车辆上行驶,速度也始终为零,这在现实中是很奇怪的原因实际上有一个速度,但谷歌地图给我的速度为零。
谁能帮我测一下速度吗?
最佳答案
奇怪的是 getSpeed() 函数不起作用,您可能可以在每次 onLocationChange 调用时注册您的位置和当前时间。 :
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
//register location and current time
}
}
然后计算 2 个位置之间的距离,并将其除以这 2 个记录之间的时间。
关于android - 如何在Android中使用谷歌地图获得速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38761966/