问题描述
我正在尝试找出使用 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 - 我将以此作为原型开始。