如何在Android中使用谷歌地图获得速度?

时间:2016-08-04 08:14:37

标签: android performance google-maps gps

我正在开发一个与Uber,OLA等非常相似的Android应用程序。

我有谷歌地图,以帮助司机导航。总距离从点A到B计算,并且基于行进的距离给出量。试验工作正常,只有0.2公里的小错误,这很好!

我面临的问题是漂移GPS并获得速度。漂移GPS为距离增加了不必要的值,因此它不断增加。我有一个使用的想法:

 location.getSpeed();

从谷歌地图API获取速度,这样我就可以将距离计算限制在速度大于0的时候。但即使我在车上旅行,速度总是为零,这实际上是奇怪的原因实际上有一个速度,但谷歌地图给我一个零速度。

任何人都可以帮助我提高速度吗?

1 个答案:

答案 0 :(得分:0)

getSpeed()函数不起作用很奇怪,你可以在每次onLocationChange调用时注册你的位置和当前时间。 :

LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
         //register location and current time
    }
}

然后计算2个位置之间的距离,并将它除以这2个记录之间的时间。