生成具有一个或多个特定到达时间的高效地图路线
Generate efficient map route with one or more specific arrival times
我正在寻找地图路由 API 服务的特定功能。
经过一番研究后,我发现 Google 说明 API 无法提供我需要的此服务的所有功能。
有没有 found/know 的 viable/potential 解决方案可供我进一步研究?
必需API 功能
- 能够为单独的行车方向指定到达时间和持续时间 waypoints。
- 如果未指定到达时间,它将动态处理航路点以进行优化。
- 这将允许生成优化路线,但有些 waypoints 有特定的预约时间。
案例
- 一个用户在一天的日程中总共有 6 个 waypoints。
- 一个约会有特定的下午 1 点到达时间。
- 所有其他约会都不是时间紧迫的,可以在最有效和优化的路线中动态生成。
当前支持
- 在 Google 方向 API 中有一个类似的功能称为
ARRIVAL_TIME
。这似乎无法用于行车路线。
https://developers.google.com/maps/documentation/directions/intro#RequestParameters
departure_time
— 指定所需的出发时间。您可以将时间指定为自 UTC 时间 1970 年 1 月 1 日午夜以来的秒数。或者,您可以指定一个值 now,它将出发时间设置为当前时间(精确到最接近的秒数)。可以在两种情况下指定出发时间:
For transit directions:
您可以选择指定 departure_time 或 arrival_time 之一。如果两个时间都不指定,则departure_time默认为现在(即出发时间默认为当前时间)。
For driving directions:
Google Maps API for Work 客户可以根据当前交通状况指定 departure_time 以接收行程持续时间。 departure_time 必须设置为当前时间的几分钟内。
arrival_time
— 指定交通方向的期望到达时间,以世界标准时间 1970 年 1 月 1 日午夜后的秒数为单位。您可以指定 departure_time 或 arrival_time,但不能同时指定两者。请注意,arrival_time 必须指定为整数。
- 很遗憾,此功能仅适用于公共交通,不适用于驾驶说明。
其他API技术
- Routific - 这些家伙提供了我们需要的确切 API 实现。
- https://docs.routific.com/docs/input - VISITS 对象似乎完全符合我的需要。
- visits 对象是每次访问及其属性的哈希值,其中键是访问 ID。每个访问对象都必须包含一个带有地理坐标的位置对象。请注意,位置对象中的名称参数是可选的。
- 每次访问都可以有一个时间-window 约束,由开始和结束定义。时间windows 可选;如果没有提供,则意味着任何时间都可以。您也可以通过将开始时间设置为 9:00 并省略结束参数来表示 "anytime after 9am"。持续时间指定访问需要多少分钟。如果送货需要 30 分钟,并且指定的时间 -window 为 12:00-13:00,则算法将确保您最迟在 12:30 之前到达。
看来 Google API 将在不久的将来支持此功能。我与一些转售 Google API 的友好人士会面,他们说请耐心等待下一个 API 版本。它可能不适用于 public,但肯定可以通过付费 API 访问。
我会在发现更多信息后更新此答案。
我正在寻找地图路由 API 服务的特定功能。
经过一番研究后,我发现 Google 说明 API 无法提供我需要的此服务的所有功能。
有没有 found/know 的 viable/potential 解决方案可供我进一步研究?
必需API 功能
- 能够为单独的行车方向指定到达时间和持续时间 waypoints。
- 如果未指定到达时间,它将动态处理航路点以进行优化。
- 这将允许生成优化路线,但有些 waypoints 有特定的预约时间。
案例
- 一个用户在一天的日程中总共有 6 个 waypoints。
- 一个约会有特定的下午 1 点到达时间。
- 所有其他约会都不是时间紧迫的,可以在最有效和优化的路线中动态生成。
当前支持
- 在 Google 方向 API 中有一个类似的功能称为
ARRIVAL_TIME
。这似乎无法用于行车路线。 https://developers.google.com/maps/documentation/directions/intro#RequestParametersdeparture_time
— 指定所需的出发时间。您可以将时间指定为自 UTC 时间 1970 年 1 月 1 日午夜以来的秒数。或者,您可以指定一个值 now,它将出发时间设置为当前时间(精确到最接近的秒数)。可以在两种情况下指定出发时间:For transit directions:
您可以选择指定 departure_time 或 arrival_time 之一。如果两个时间都不指定,则departure_time默认为现在(即出发时间默认为当前时间)。For driving directions:
Google Maps API for Work 客户可以根据当前交通状况指定 departure_time 以接收行程持续时间。 departure_time 必须设置为当前时间的几分钟内。
arrival_time
— 指定交通方向的期望到达时间,以世界标准时间 1970 年 1 月 1 日午夜后的秒数为单位。您可以指定 departure_time 或 arrival_time,但不能同时指定两者。请注意,arrival_time 必须指定为整数。- 很遗憾,此功能仅适用于公共交通,不适用于驾驶说明。
其他API技术
- Routific - 这些家伙提供了我们需要的确切 API 实现。
- https://docs.routific.com/docs/input - VISITS 对象似乎完全符合我的需要。
- visits 对象是每次访问及其属性的哈希值,其中键是访问 ID。每个访问对象都必须包含一个带有地理坐标的位置对象。请注意,位置对象中的名称参数是可选的。
- 每次访问都可以有一个时间-window 约束,由开始和结束定义。时间windows 可选;如果没有提供,则意味着任何时间都可以。您也可以通过将开始时间设置为 9:00 并省略结束参数来表示 "anytime after 9am"。持续时间指定访问需要多少分钟。如果送货需要 30 分钟,并且指定的时间 -window 为 12:00-13:00,则算法将确保您最迟在 12:30 之前到达。
看来 Google API 将在不久的将来支持此功能。我与一些转售 Google API 的友好人士会面,他们说请耐心等待下一个 API 版本。它可能不适用于 public,但肯定可以通过付费 API 访问。
我会在发现更多信息后更新此答案。