ガイドAPIリファレンス
ガイド

道路の正しい側へのルートを計算するには

このチュートリアルでは、sideOfStreetHintを使用して経由地を道路のどちら側に一致させるかを制御する方法について詳しく説明します。

道路の特定の側にある経由地を指定する場合は、経由地に到着する正しい方向をRouting APIが選択できるよう、sideOfStreetHintも指定します。この情報の最も一般的なソースは検索プロバイダーです。

概念的には、sideOfStreetHintは道路の中心線から2~100メートル離れた場所にあり、道路の片側 (たとえば、道路の形状の右側にある場合は右側) を特定します。

matchSideOfStreet Placeオプションは、sideOfStreetHintを考慮するタイミングをルーターに指示します。

  • matchSideOfStreet=onlyIfDivided:これがデフォルト値です。この場合、ルーターは対向方向の間に物理的または法的分離帯が存在する道路上の sideOfStreetHint のみを考慮します。このような場合、車線を横断することは不可能、または不便です。
  • matchSideOfStreet=always:この場合、ルーターはすべての道路に対して sideOfStreetHint を考慮します。ユーザーが道路の正しい側に到着するために長いルートを選ぶ意思があることがわかっている場合は、この値を使用します。

このチュートリアルでは次の 2 つの例を見ていきます。

  • 法的分離帯や物理的分離帯がある道路上の経由地を指定する
  • 分離帯がない道路上の経由地を指定する

分離帯がある道路

これは sideOfStreetHint を使用することでメリットが得られるリクエストの例です。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.532017,13.381293&'\
'destination=52.531076,13.384907;sideOfStreetHint=52.53094541029134,13.385008983523676&'\
'return=polyline,summary&'\
'transportMode=car&'\
'apiKey=YOUR_API_KEY'

destination は法定分離帯のある道路沿いにあります。sideOfStreetHint (青いルート) がなければ、ユーザーは目的地に正しく到着できません。sideOfStreetHint (紫色のルート) を使用すると、道路の正しい側に誘導されます。

分離帯がない道路上の目的地への sideOfStreetHint を含むルート

分離帯がない道路

この例では、目的地の経由地は分離帯がある道路上にはありません。この場合のデフォルトのルート検索動作は、sideOfStreetHintを無視することです。デフォルトの動作を上書きするには、matchSideOfStreet=alwaysを指定します。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'transportMode=car&'\
'origin=52.5411320,13.4108499&'\
'destination=52.5391210,13.4081705;sideOfStreetHint=52.5389135,13.4079459;matchSideOfStreet=always&'\
'return=polyline,summary&'\
'apiKey=YOUR_API_KEY'
  • 紫色のルートはデフォルトの動作を示しています。
  • 青色のルートは matchSideOfStreet=always の効果を示しています。ここでは sideOfStreetHint に従います。
分離帯がない道路上の目的地への sideOfStreetHint を含むルート