在 Google 路线中计算每小时的位置点

问题描述

我正在尝试找出使用 Google Directions API 确定公路旅行中每小时位置点的最有效方法https://developers.google.com/maps/documentation/javascript/examples/directions-waypoints

举个例子 - 这是一条穿越新西兰的路线,途经主要岛屿上的一些最远点。

https://www.google.com/maps/dir/Cape+Reinga+0484/East+Cape,6.75z/

Google 回复说行程为 2,934 公里和 42 小时,这很有用...

...但是如果我想知道午餐或晚餐的车子在哪里呢?

如果一辆车在早上 8 点开始旅程,我如何才能在早上 9 点、早上 10 点、早上 11 点等时间返回它所在的位置?

虽然我可以计算出 2,934km / 42 hours = 69.857kph 并不能说明全部情况,因为该路线穿越了所有类型的路况,从 6 车道高速公路到蜿蜒曲折的道路,再到狭窄的山口,再到两者之间的渡轮旅行岛屿。因此,如果我每 69.857 公里计算一次汽车的位置,那将不是 100% 准确(但可能是利用手头信息所能做到的最好)。

从 Google 路线路线返回(相当准确的)每小时位置点列表的最有效方法是什么?

解决方法

我想出的第一种方法是执行以下操作:

循环遍历每个航点并将持续时间值(秒)和纬度/经度坐标提取到数组中:

                 "distance" : {
                    "text" : "5.0 km","value" : 5028
                 },"duration" : {
                    "text" : "4 mins","value" : 217
                 },"end_location" : {
                    "lat" : -41.331333,"lng" : 173.2031939
                 },

然后我可以遍历数组并获得包含预期总时间的航点坐标列表。

这种方法的唯一问题是我无法每小时计算准确的位置,当航路点相距很长时间/距离时,这个问题会放大。

任何 hoo - 我将以此作为原型开始。