我正在开发一个与Uber,OLA等非常相似的Android应用程序。
我有谷歌地图,以帮助司机导航。总距离从点A到B计算,并且基于行进的距离给出量。试验工作正常,只有0.2公里的小错误,这很好!
我面临的问题是漂移GPS并获得速度。漂移GPS为距离增加了不必要的值,因此它不断增加。我有一个使用的想法:
location.getSpeed();
从谷歌地图API获取速度,这样我就可以将距离计算限制在速度大于0的时候。但即使我在车上旅行,速度总是为零,这实际上是奇怪的原因实际上有一个速度,但谷歌地图给我一个零速度。
任何人都可以帮助我提高速度吗?
答案 0 :(得分:0)
getSpeed()函数不起作用很奇怪,你可以在每次onLocationChange调用时注册你的位置和当前时间。 :
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
//register location and current time
}
}
然后计算2个位置之间的距离,并将它除以这2个记录之间的时间。