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

标签 android performance google-maps gps

我正在开发一个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/

相关文章:

android - 如何在 Android 版 Google map 中使用路线导航?或者我可以使用什么来进行路线导航?

java - setTextSize 方法后 textView.getLineCount() 返回 0

android - 过滤实时数据库安卓

javascript - react native : sending events from android to javascript

windows - 将目录添加到 Windows Path 变量会影响性能吗?

java - 使用 hibernate 和 GWT 时提高性能

android - 如何在单击按钮时滑动标签

python - 查找数据区间并对其进行排序

java - 当 AsyncTask 完成 Activity 时调用 fragment 方法

java - 如何在 Android Studio 中实现 Google Distance/Matrix Api?