現在のルートを更新する
このチュートリアルでは、ユーザーがルートを移動している間に、ルートの情報を定期的に更新する方法を説明します。これには、最新の交通情報と、時間に依存するデータの再評価が含まれます。
このチュートリアルは、「ルートハンドルの使用方法」のチュートリアルに基づいています。
元のルート
この例では、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 つのセクションのみが含まれるようになります。
25 日前の更新