管理航点

默认情况下,Android 版 Navigation SDK 会查找到达航点的最快路线,但这并不保证车辆会到达消费者正在等待的道路一侧,也不保证到达地点对驾驶员来说是安全的停车位置。本指南介绍了可用于这些情况的两种功能:

  • 道路一侧路线偏好设置
  • 中途停留功能

路线路由偏好设置的侧面

借助此功能,您可以确保车辆到达正确的道路一侧。您可以在为相应经停点创建航点时设置到达相应路段的特定侧的偏好设置。您可以通过以下两种方式之一指定偏好设置:首选道路同一侧,或提供到达方向。

更喜欢路的同一侧

您提供航点的地理坐标,然后设置一个标志 (setPreferSameSideOfRoad),指明您希望到达与航点位于同一侧的道路上,并贴靠到最近的人行道。

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferSameSideOfRoad(true)
           .build()

设置到达航向

您提供航点的地理坐标,然后提供到达航向 (setPreferredHeading),该航向与等待的消费者所在道路一侧的车流方向相匹配。

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferredHeading(preferredHeading)
           .build()

Navigation SDK 会选择距离航点最近的路段,该路段的车道方向与航点所在道路的一侧对齐(在 +/- 55 度范围内)。

设置停靠偏好

在某些地点,司机无法安全停车(例如,高架区域、轮渡、地下地点和其他限制通行的区域)。如果航点的位置不适合车辆停靠,停靠功能会将航点重新定位到附近的地点。将 setVehicleStopover 设置为 true 后,如果有备选位置可用,系统会在计算路线时自动重新定位航点。

工作原理

您可以在为相应经停点创建航路点时设置经停点的偏好设置。为此,请指定 setVehicleStopover 偏好设置,如以下示例所示:

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setVehicleStopover(true)
           .build()