デフォルトでは、Routes API はデフォルト ルートを返します。これは、燃料またはエネルギー効率を考慮しないルートです。エコフレンドリーなルーティングを有効にしても、レスポンスではデフォルトのルートが適用されます。また、自動車のエンジンの種類に応じて燃料またはエネルギー効率が最も良いルートを示す、環境に優しいルートに戻されます。
Routes API は、車両のエンジンの種類とともに、リアルタイムの交通状況や道路状況などの他の要素に基づいて、環境に優しいルートを選択します。ルートの燃料効率やエネルギー効率が高いほど、燃料/エネルギーの使用量と CO2 排出量が低くなります。
たとえば、ディーゼル車の相対的な燃料効率の優位性は、一般的に高速道路の走行時に最も高くなります。ハイブリッド車と電気自動車は、停車と発進の繰り返しが多い市街地や坂道の多い場所での走行時に回生ブレーキを多用し、そのメリットによって徐々に効率を高めていく傾向があります。
API から返される環境に優しいルートは、ルート全体にわたって燃料消費量を削減するように最適化されています。正確な車両の燃料消費量の明示的な推定ではなく、さまざまなルートを比較する手段として、ルートの燃料消費量の推定値を使用します。
Google マップの燃料効率の推定方法
Routes API は、米国エネルギー省の国立再生可能エネルギー研究所からの分析情報と欧州環境庁のデータを使用して燃料効率を推定します。この計算では、燃料消費量、エネルギー使用量、CO2 排出量に影響する次のような要因が考慮されます。
- お住まいの地域における自動車の燃料またはエネルギーの平均消費量
- ルート上での坂の勾配
- 少し進んでは止まるパターンの交通状況
- 道路の種類(一般道路や高速道路など)
Routes API は、到着時刻がデフォルト ルートとほぼ同じである場合、燃料またはエネルギー効率が最も高いルートを返します。燃料またはエネルギーの節約量が少なすぎる場合、または走行時間が大幅に増える場合は、ルート間の燃料またはエネルギーの節約量が相対的に表示され、簡単に比較できます。
詳しくは、環境に優しいルート選択のテクノロジーに関する資料(PDF)をご覧ください。
Prerequisites
環境に優しいルート設定を使用するには、ルートの計算リクエストを送信します。
ルーティング設定として
TRAFFIC_AWARE_OPTIMAL
を指定する必要があります。このモードでは、サーバーが道路網をより詳しく検索して最適なルートを見つけます。詳細については、品質とレイテンシの構成をご覧ください。travelMode
をDRIVE
に設定する必要があります。その他の移動手段での環境に優しいルートをリクエストすると、エラーが返されます。サポート対象のリージョンで、出発地点のロケーションを設定する必要があります。そうしないと、API からエラーが返されます。
ルートに中間地点を含めることはできません。
環境に優しいルートをリクエストする
環境に優しいルートを計算するリクエストを作成するには、リクエストに次のプロパティを設定します。
requestedReferenceRoutes
をFUEL_EFFICIENT
に設定する。VehicleEmissionType で定義された値を使用して、車両の
emissionType
を指定します(DIESEL
、GASOLINE
、ELECTRIC
、またはHYBRID
)。デフォルト値はGASOLINE
です。
また、環境に優しいルートに関連付けられたレスポンス プロパティを返すように指定するレスポンス フィールド マスクを設定します。
routes.routeLabels:
: 各ルートを示します。デフォルト ルートの場合、
routeLabels
配列プロパティにはDEFAULT_ROUTE
が含まれます。環境に優しいルートの場合、
routeLabels
配列プロパティにFUEL_EFFICIENT
が含まれています。代替ルートの場合は、
routeLabels
配列プロパティにDEFAULT_ROUTE_ALTERNATE
が含まれます。
routes.travelAdvisory.fuelConsumptionMicroliters
: ルート全体の推定燃料消費量(マイクロリットル)。emissionType
がHYBRID
の場合、API は電力と燃料の消費をマイクロリットルの燃料に変換します。emissionType
がELECTRIC
の場合、API は消費電力をマイクロリットルの燃料に変換します。routes.routeToken:
。カスタム ルートを取得するために Navigation SDK に渡せるルートトークン。
エコ フレンドリー リクエストの例
次のコードは、環境に優しいルートのリクエストを示しています。この例では、レスポンス フィールド マスクを使用して、環境に優しいルートに関連付けられたレスポンス プロパティと、routes.distanceMeters
および routes.duration
プロパティを返します。
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "routeModifiers": { "vehicleInfo": { "emissionType": "GASOLINE" } }, "travelMode":"DRIVE", "routingPreference": "TRAFFIC_AWARE_OPTIMAL", "requestedReferenceRoutes": ["FUEL_EFFICIENT"] }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.travelAdvisory.fuelConsumptionMicroliters,routes.routeToken' 'https://routes.googleapis.com/directions/v2:computeRoutes'
環境に優しい対応の例
上記の計算ルート呼び出しは、2 つのルートを含む JSON レスポンスを生成します。
{ "routes": [ { "distanceMeters": 138939, "duration": "5412s", "travelAdvisory": { "fuelConsumptionMicroliters": "10960841" }, "routeToken": "CoYJCpoIC…0n9S1cu", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 116887, "duration": "5631s", "travelAdvisory": { "fuelConsumptionMicroliters": "9302109" }, "routeToken": "CuEHCu0G…xqm", "routeLabels": [ "FUEL_EFFICIENT" ] } ] }
デフォルト ルートと環境に優しいルートが同じ場合、routeLabels
プロパティには DEFAULT_ROUTE
と FUEL_EFFICIENT:
の両方が含まれます。
{ "routes": [ { "distanceMeters": 45875, "duration": "2655s", "travelAdvisory": { "fuelConsumptionMicroliters": "1926791" }, "routeToken": "CvcDCos…6I40", "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ] } ] }
サポートされるリージョン
Google Maps Platform チームは、API サービスの国際的な範囲の拡大に常に取り組んでいます。以下に、環境に優しいルート選択に関する国別のサポート状況について詳しく説明します。
- アルバニア(AL)
- オーストリア(AT)
- ベルギー(BE)
- ボスニア ヘルツェゴビナ(BA)
- ブルガリア(BG)
- カナダ(CA)
- クロアチア(HR)
- キプロス(CY)
- チェコ(CZ)
- デンマーク(DK)
- エストニア(EE)
- フィンランド(FI)
- フランス(FR)
- ドイツ(DE)
- ギリシャ(GR)
- ハンガリー(HU)
- アイスランド(IS)
- アイルランド(IE)
- イタリア(IT)
- コソボ(XK)
- ラトビア(LV)
- リヒテンシュタイン(LI)
- リトアニア(LT)
- ルクセンブルク(LU)
- マルタ(MT)
- モンテネグロ(ME)
- オランダ(NL)
- 北マケドニア(MK)
- ノルウェー(NO)
- ポーランド(PL)
- ポルトガル(PT)
- ルーマニア(RO)
- セルビア(RS)
- スロバキア(SK)
- スロベニア(SI)
- スペイン(ES)
- スウェーデン(SE)
- スイス(CH)
- トルコ(TR)
- 英国(GB)
- 米国(US)