如何使用位置或加速度计或其他方式获得Android应用程序的速度

 ha遗忘的密 发布于 2023-02-12 17:36

我正在开发应用程序并尝试获取用户行进的速度和距离.我已经使用Google Play服务定位类来获得速度,但它总是返回0.0值,而且根本不可靠.我想要实时准确的速度和距离.

我已经在我的设备上安装了GPS车速表应用程序,它非常完美,即使我走路也会给我速度.我想得到同样的东西.我对如何获得速度,使用位置或使用加速度计感到困惑,还是有其他方法可以做到这一点?

我的代码可以在这个链接上找到: -

使用Google Maps Android API v2在Google地图上绘制路线

我正在开发基于纯位置的应用程序,其中包括地图,速度和与地点相关的其他相关事项.

如果有人有任何想法,请帮助我解决速度和距离问题.

1 个回答
  • 我不得不处理同样的问题,你可以做的是使用位置策略代码.

    然后,在每次更新位置时,您将保存当前更新的时间.因此,您将拥有之前和当前位置以及更新时间.

    然后计算这两个位置(新旧位置)之间的距离(以米为单位)

    private static long calculateDistance(double lat1, double lng1, double lat2, double lng2) {
        double dLat = Math.toRadians(lat2 - lat1);
        double dLon = Math.toRadians(lng2 - lng1);
        double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)
                + Math.cos(Math.toRadians(lat1))
                * Math.cos(Math.toRadians(lat2)) * Math.sin(dLon / 2)
                * Math.sin(dLon / 2);
        double c = 2 * Math.asin(Math.sqrt(a));
        long distanceInMeters = Math.round(6371000 * c);
        return distanceInMeters;
    }
    

    那么,你有距离和时差,我认为获得速度并不是什么大问题.

    2023-02-12 17:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有