デフォルトでは、中間ウェイポイントは乗車と降車の停車に使用されますが、中間ウェイポイントを通過のみに使用するように指定することもできます。
出発地点、通過中間地点、目的地点を含むルートには、出発地点と目的地点を結び、中間地点(via と呼ばれる)を通過するルート区間が 1 つだけ含まれます。
Waypoint インターフェースを使用して、ウェイポイントの via プロパティを true に設定することで、中間ウェイポイントをパススルー ウェイポイントとして構成します。
via プロパティは、ユーザーが地図上の経由地をドラッグしたときにルートを作成する場合に最も効果的です。これにより、ユーザーは最終的なルートがリアルタイムでどのように表示されるかを確認でき、ウェイポイントが Routes ライブラリからアクセス可能な場所に配置されるようになります。
リクエスト例
次のリクエストの例は、中間地点を通過地点としてマークする方法を示しています。
const routeRequestWithVia = { origin: '100 Moffett Blvd, Mountain View, CA 94043', destination: '1199 9th Ave, San Francisco, CA 94122', travelMode: 'DRIVING', intermediates: [ {location: 'Half Moon Bay, CA', via: true} // Set the via property to true ], fields: ['path', 'legs'], }; // Make the request. const {routes, fallbackInfo, geocodingResults} = await Route.computeRoutes(routeRequestWithIntermediates);
中間経由地のプレイス ID にアクセスする
出発地、目的地、中間地点の位置を住所文字列またはプラスコードとして指定すると、Routes ライブラリは、対応するプレイス ID を持つ最も関連性の高い場所を見つけようとします。結果の geocodingResults.intermediates 配列には、経由地の位置に対応するプレイス ID と、その位置に関する追加データが含まれます。
ジオコーディング結果のレスポンスの例
{ "origin": { "geocoderStatus": "OK", "types": [ "premise", "street_address" ], "partialMatch": false, "placeId": "ChIJb5NgcTa3j4ARrfF4Oc_f6q8", "intermediateWaypointRequestIndex": null }, "destination": { "geocoderStatus": "OK", "types": [ "premise", "street_address" ], "partialMatch": false, "placeId": "ChIJAbIPLl2HhYARQ0SSdDFxU-s", "intermediateWaypointRequestIndex": null }, "intermediates": [ { "geocoderStatus": "OK", "types": [ "locality", "political" ], "partialMatch": false, "placeId": "ChIJC8sZCqULj4ARVJvnNcic_V4", "intermediateWaypointRequestIndex": 0 } ] }