对于给定的路线起点和终点,我想知道在一定时间后我将在路线上的哪个点。 例如,给定坐标long_start、lat_start和long_end、lat_end,并按照OSRM建议的路线行驶,2分钟后汽车将在哪里?
有没有一种简单的方法可以通过OSRM HTTP-API做到这一点?
您可以将选项annotations=duration&overview=full
传递给route
服务,然后使用routes[0].legs[0].annotations.durations
数组找出给定时间后您将处于哪个坐标。
伪代码:
sum = 0
index = 0
durations = routes[0].legs[0].annotations.durations
while index < durations.length and sum < max_duration
sum += durations[index]
index++
location = decodePolyline(routes[0].geometry)[index]