对于路线的给定起点和终点,我想知道在一定时间后我将在路线上的哪个点。例如,给定坐标 long_start、lat_start 和 long_end、lat_end,并按照 OSRM 建议的路线行驶,2 分钟后汽车会在哪里?
有没有一种简单的方法可以通过 OSRM HTTP-API 做到这一点?
对于路线的给定起点和终点,我想知道在一定时间后我将在路线上的哪个点。例如,给定坐标 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]