Routes API は、ルートを計算する際、入力として指定されたウェイポイントと構成パラメータを使用します。API は、デフォルトのルートと 1 つ以上の代替ルートを含むレスポンスを返します。
リクエストするフィールドに応じて、レスポンスにはさまざまな種類のルートやその他のデータを含めることができます。
| これをレスポンスに含めるには | こちらのドキュメントをご覧ください |
|---|---|
| 車両のエンジンの種類に応じた、燃料やエネルギー効率に優れたルート。 | 環境に優しいルート選択を構成する |
| 最大 3 つの代替ルート | 代替ルートをリクエストする |
| ルート全体、ルートの各区間、区間の各ステップのポリライン。 | ルートのポリラインをリクエストする |
| 通行料金の割引や、ドライバーまたは車両が利用できる通行証を考慮した、推定通行料金。 | 通行料金を計算する |
| 言語コードと測定単位(ヤードポンド法またはメートル法)でローカライズされたレスポンス。 | ローカライズされた値をリクエストする |
ナビゲーション指示を HTML テキスト文字列としてフォーマットするには、extraComputations に HTML_FORMATTED_NAVIGATION_INSTRUCTIONS を追加します。 |
追加の計算 |
入力オプションの完全なリストについては、利用可能なルート オプションとリクエスト本文をご覧ください。
このレスポンスを使用して、要件に適したルートを選択するために必要な情報を顧客に提供できます。
フィールド マスクについて
ルートを計算するメソッドを呼び出す場合は、レスポンスで返すフィールドを定義するフィールド マスクを指定する必要があります。返されるフィールドのデフォルト リストはありません。このリストを省略すると、メソッドはエラーを返します。
このドキュメントの例では、フィールド マスクを考慮せずにレスポンス オブジェクト全体を示しています。本番環境では、レスポンスにはフィールド マスクで明示的に指定したフィールドのみが含まれます。
詳細については、返す情報を選択するをご覧ください。
著作権の表示について
ユーザーに結果を表示する際には、次の著作権表示を含める必要があります。
Powered by Google, ©YEAR Google
次に例を示します。
Powered by Google, ©2023 Google
ルート、区間、ステップについて
Routes API から返されるレスポンスを確認する前に、ルートを構成するコンポーネントについて理解しておく必要があります。

レスポンスには、次の各ルート コンポーネントに関する情報が含まれる場合があります。
ルート: 出発地のウェイポイントから、中間ウェイポイントを経由して、目的地のウェイポイントまでの移動全体。ルートは 1 つ以上の区間で構成されます。
区間: ルート内のウェイポイントから次のウェイポイントまでの経路。各区間は、1 つ以上の個別のステップで構成されます。
ルートには、各ウェイポイントから次のウェイポイントまでの経路を示す個別の区間が含まれます。たとえば、ルートに 1 つの出発地ウェイポイントと 1 つの目的地ウェイポイントが含まれている場合、ルートには 1 つの区間が含まれます。出発地と目的地の後にルートに追加するウェイポイント(中間ウェイポイント)ごとに、API は個別の区間を追加します。
API は、パススルーの中間地点の区間を追加しません。たとえば、出発地のウェイポイント、通過する中間ウェイポイント、目的地のウェイポイントを含むルートには、ウェイポイントを通過しながら、出発地から目的地までの区間が 1 つだけ含まれます。パススルー ウェイポイントの詳細については、パススルー ウェイポイントを定義するをご覧ください。
ステップ: ルートの区間に沿った 1 つの指示。ステップは、ルートの最小単位です。たとえば、ステップで「メインストリートを左折」と表示できます。
レスポンスの内容
API レスポンスを表す JSON オブジェクトには、次の最上位プロパティが含まれています。
routes: Route 型の要素の配列。routes配列には、API から返されたルートごとに 1 つの要素が含まれます。この配列には、デフォルトのルート、環境に優しいルート選択、最大 3 つの代替ルートの最大 5 つの要素を含めることができます。geocodingResults: GeocodingResults 型の要素の配列。リクエスト内の各場所(出発地、目的地、中間ウェイポイント)が住所文字列または Plus Code として指定されている場合、API はプレイス ID の検索を行います。この配列の各要素には、場所に対応するプレイス ID が含まれます。リクエストでプレイス ID または緯度 / 経度座標として指定された場所は含まれません。プレイス ID または緯度と経度の座標を使用してすべての場所を指定した場合、この配列は提供されません。fallbackInfo(FallbackInfo 型)。API がすべての入力プロパティからルートを計算できない場合は、別の計算方法にフォールバックすることがあります。フォールバック モードを使用する場合、このフィールドにはフォールバック レスポンスに関する詳細情報が含まれます。それ以外の場合、このフィールドは設定されません。
レスポンスの形式は次のとおりです。
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
routes 配列を解読する
レスポンスには routes 配列が含まれます。各配列要素は Route 型です。各配列要素は、出発地から目的地までのルート全体を表します。API は常に、デフォルト ルートと呼ばれる少なくとも 1 つのルートを返します。
追加のルートをリクエストできます。環境に優しいルート選択をリクエストすると、配列にはデフォルトのルートと環境に優しいルート選択の 2 つの要素が含まれます。または、リクエストで computeAlternativeRoutes を true に設定して、最大 3 つの代替ルートをレスポンスに追加します。
配列内の各ルートは、routeLabels 配列プロパティで識別されます。
| 値 | 説明 |
|---|---|
DEFAULT_ROUTE |
デフォルト ルートを識別します。 |
FUEL_EFFICIENT |
環境に優しいルートを識別します。 |
DEFAULT_ROUTE_ALTERNATE |
代替ルートを示します。 |
legs 配列には、ルートの各区間の定義が含まれます。残りのプロパティ(distanceMeters、duration、polyline, など)には、ルート全体に関する情報が含まれます。
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
現在の運転状況やその他の要因によっては、デフォルトのルートと環境に優しいルート選択が同じになることがあります。この場合、routeLabels 配列には DEFAULT_ROUTE と FUEL_EFFICIENT の両方のラベルが含まれます。
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
legs 配列について
レスポンスの各 route には legs 配列が含まれます。各 legs 配列要素は RouteLeg 型です。配列内の各区間は、ルートに沿って 1 つのウェイポイントから次のウェイポイントまでのパスを定義します。ルートには常に 1 つ以上の区間が含まれます。
legs プロパティには、steps 配列内の区間に沿った各ステップの定義が含まれます。残りのプロパティ(distanceMeters、duration、polyline など)には、区間に関する情報が含まれます。
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
steps 配列について
レスポンスの各区間には steps 配列が含まれ、各 steps 配列要素は RouteLegStep 型です。ステップは、区間に沿った 1 つの指示に対応します。区間には、常に少なくとも 1 つのステップが含まれます。
steps 配列の各要素には、NavigationInstruction 型の navigationInstruction プロパティが含まれます。このプロパティには、ステップの指示が含まれます。次に例を示します。
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions には、ステップに関する追加情報が含まれている場合があります。次に例を示します。
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
ステップの残りのプロパティは、distanceMeters、duration、polyline などのステップに関する情報を記述します。
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
ステップの手順の言語を指定する
API は、優先言語を考慮しながら、必要に応じてユーザーが読み取れるスクリプトに変換された、ローカル言語のルート情報を返します。住所コンポーネントはすべて同じ言語で返されます。
リクエストの
languageCodeパラメータを使用して、サポートされている言語のリストからルートの言語を明示的に設定します。サポート対象の言語は頻繁に更新されるため、このリストで網羅されていない場合があります。指定された言語で名前が利用できない場合、API は最も近い一致を使用します。
指定した言語は、API が返す結果のセットと、それらが返される順序に影響する可能性があります。ジオコーダは、言語に応じて略語を異なる方法で解釈します。たとえば、道路タイプの略語や、ある言語では有効でも別の言語では有効でない類義語などです。たとえば、utca と tér は、ハンガリー語で street の同義語です。
geocodingResults 配列について
リクエスト内の各場所(出発地、目的地、中間地点)が住所文字列または Plus Code として指定されている場合、API は対応するプレイス ID を持つ最も関連性の高い場所を見つけようとします。geocodingResults 配列の各要素には、場所をプレイス ID として含む placeID フィールドと、場所のタイプ(street_address、premise、airport など)を指定する type フィールドが含まれます。
geocodingResults 配列には、次の 3 つのフィールドがあります。
origin: 住所文字列または Plus Code として指定された場合、出発地のプレイス ID。それ以外の場合、このフィールドはレスポンスから省略されます。destination: 住所文字列または Plus Code として指定された場合は、目的地のプレイス ID。それ以外の場合、このフィールドはレスポンスから省略されます。intermediates: 住所文字列または Plus Code として指定された中間地点のプレイス ID を含む配列。プレイス ID または緯度と経度の座標を使用して中間地点を指定すると、レスポンスから除外されます。レスポンスのintermediateWaypointRequestIndexプロパティを使用して、リクエストのどの中間ウェイポイントがレスポンスのプレイス ID に対応しているかを判断します。
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
ローカライズされたレスポンス値を理解する
ローカライズされたレスポンス値は、返されたパラメータ値のローカライズされたテキストを提供する追加のレスポンス フィールドです。ローカライズされたテキストは、ルートの所要時間、距離、単位系(メートル法またはヤードポンド法)で提供されます。フィールド マスクを使用してローカライズされた値をリクエストします。言語と単位系を指定することも、API によって推測された値を使用することもできます。詳細については、LocalizedValues をご覧ください。
たとえば、ドイツ語(de)の言語コードとヤードポンド法を指定すると、distanceMeters の値は 49889.7 になりますが、ドイツ語とヤードポンド法で距離を測定したローカライズされたテキスト(「31 Meile」)も取得されます。
ローカライズされた値の例を次に示します。
{ "localized_values":
{
"distance": { "text": "31,0 Meile/n" },
"duration": { "text": 38 Minuten}.
"static_duration": { "text": 36 Minuten}.
}
}言語または単位系を指定しない場合、API は次のように言語と単位を推測します。
ComputeRoutesメソッドは、出発地のウェイポイントから場所と距離の単位を推測します。たとえば、米国でのルート検索リクエストの場合、API はen-US言語とIMPERIAL単位を推測します。ComputeRouteMatrixメソッドのデフォルトは、言語が「en-US」、単位が「METRIC」です。