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

現在のルートを更新する

このチュートリアルでは、ユーザーがルートを移動している間に、ルートの情報を定期的に更新する方法を説明します。これには、最新の交通情報と、時間に依存するデータの再評価が含まれます。

このチュートリアルは、「ルートハンドルの使用方法」のチュートリアルに基づいています。

元のルート

この例では、1か所のvia経由地を通過する初期ルートを計算し、レスポンスでrouteHandleをリクエストします。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.534328,13.388957&'\
'destination=52.537471,13.400169&'\
'via=52.535527,13.395096&'\
'return=summary,polyline,routeHandle&'\
'transportMode=car&'\
'apiKey=YOUR_API_KEY'

ルートは次のように表示されます。

経由地のあるルート

ルートを更新する

ユーザーがルートに沿って進み続けると、ルートに沿った新しい情報を取得する必要が生じます。

このリクエストは、新しい位置 origin=52.536236,13.391172;radius=20 から開始するようルートを更新します。

curl -gX GET 'https://router.hereapi.com/v8/routes/{ROUTE_HANDLE}?'\
'origin=52.536236,13.391172;radius=20&'\
'return=polyline,summary,routeHandle&'\
'transportMode=car&'\
'apiKey=YOUR_API_KEY'

ルーターは、新しい起点を、以前に計算されたルート上の最も近い場所に設定し、更新された位置の手前でルートを切断します。短縮されたルートに関するすべての情報はそれに応じて更新されます。

更新されたルートは新しい位置から開始します

レスポンスには、後続のリクエストで使用できるこの (短い) ルートの新しいrouteHandleも含まれています。

不正確なGPSデータに基づく位置を処理する方法の例として、半径20 mが使用されています。拡張された半径がないと、サービスは位置をルートに一致させることができない可能性があります。その場合、次の重要な通知が返されます。

{
  "notices": [
    {
      "title": "Route calculation failed: Couldn't match origin.",
      "code": "couldNotMatchOrigin",
      "severity": "critical"
    }
  ],
  "routes": []
}

ユーザーがルートから外れた状況に対処する場合は、このチュートリアルを参照してください。

経由地を通過する

ユーザーの位置は最終的にルート上の経由地を通過します。

curl -gX GET 'https://router.hereapi.com/v8/routes/{ROUTE_HANDLE}?'\
'origin=52.535145,13.395526;radius=20&'\
'return=polyline,summary,routeHandle&'\
'transportMode=car&'\
'apiKey=YOUR_API_KEY'
更新されたルートには経由地が含まれなくなりました

結果として得られるルートには、1 つのセクションのみが含まれるようになります。