Khozhiakbar Khodzhaev Asked:2020-01-08 14:33:53 +0000 UTC2020-01-08 14:33:53 +0000 UTC 2020-01-08 14:33:53 +0000 UTC 如何计算汽车行驶的距离 772 以后我想开发一个移动应用程序,可以计算我在车里行驶了多少米,这样的程序有很多,但我想了解HOW!?当程序计算我开车多少公里时完成,我知道地理定位会帮助我,但是算法呢,谁理解我,谢谢。颤振编程语言 android 1 个回答 Voted Best Answer Maxgmer 2020-01-08T18:30:30Z2020-01-08T18:30:30Z 通常这样做是这样的——应用程序订阅来自操作系统的位置更新,操作系统从硬件接收它们。这些更新是纬度和经度值。 在您的示例中它是如何工作的:当汽车移动并且设备正在获取坐标时,您的应用程序使用一些计算来计算最后一个和倒数第二个接收到的坐标之间的距离(正如 Mark Shevchenko 建议的那样,使用https://en.wikipedia. org/wiki/Haversine_formula)。对于每个新坐标,都会再次考虑该距离,并将结果米相加。 如何获得这些坐标以及它们之间的距离?在 Flutter 的情况下,我们可以像这样连接这个库并获取坐标: Position pos = await Geolocator().getLastKnownPosition(desiredAccuracy: LocationAccuracy.high); 我们以米为单位得到距离,如下所示: double distanceInMeters = await Geolocator().distanceBetween(prevPos.latitude, prevPos.longitude, pos.latitude, pos.longitude);
通常这样做是这样的——应用程序订阅来自操作系统的位置更新,操作系统从硬件接收它们。这些更新是纬度和经度值。
在您的示例中它是如何工作的:当汽车移动并且设备正在获取坐标时,您的应用程序使用一些计算来计算最后一个和倒数第二个接收到的坐标之间的距离(正如 Mark Shevchenko 建议的那样,使用https://en.wikipedia. org/wiki/Haversine_formula)。对于每个新坐标,都会再次考虑该距离,并将结果米相加。
如何获得这些坐标以及它们之间的距离?在 Flutter 的情况下,我们可以像这样连接这个库并获取坐标:
我们以米为单位得到距离,如下所示: