地点の管理

デフォルトでは、Android 向け Navigation SDK は経由地への最短ルートを検索しますが、車両がユーザーの待機している道路の側に到着するとは限りません。また、到着地点がドライバーにとって安全な停車場所であるとも限りません。このガイドでは、このような状況で使用できる 2 つの機能について説明します。

  • 道路脇のルート設定
  • 経由地機能

道路のどちら側を走行するかを設定する

停車地の経由地を作成するときに、道路の特定の側に到着する優先度を設定できます。同じ側の道路を優先するか、到着時の向きを指定するかのいずれかの方法で、優先度を指定できます。

同じ側の道路を優先する

経由地の地理的座標を指定し、経由地と同じ側の道路に到着することを希望することを示すフラグ(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()