根據預設,Routes API 會傳回預設路線,也就是未將燃油或能源效率納入考量的路線。啟用環保路線後,回應中仍會顯示預設路線。此外,系統也會根據車輛引擎類型,提供最省油或最節能的環保路線。
Routes API 傳回的環保路線會盡量降低整條路線的燃料消耗量。這項 API 會根據車輛的引擎類型,以及即時車流量和路況等其他因素,選擇環保路線。路線的燃油或能源效率越高,車輛的燃油或能源消耗和二氧化碳排放量就越低。
舉例來說,柴油車通常在高速公路上能發揮相對最佳的燃油效率。油電混合車及電動車在走走停停的城市和山坡行駛時,會頻繁利用再生煞車功能,可逐步發揮出色的燃油/能源效率。
您也可以要求 API 傳回整條路線的預估燃料消耗量。請將預估油耗量做為比較不同路線的方式,而非您實際車輛的明確油耗量。
Google 地圖如何估算燃油效率
Routes API 會根據美國能源部國家再生能源實驗室的深入分析,以及歐洲環境署提供的資料估算燃油效率。計算時會納入影響燃油和能源消耗以及二氧化碳排放量的因素,例如:
- 你所在區域的車輛平均燃油或能源消耗量
- 路線沿途的山坡陡峭程度
- 走走停停的車流量模式
- 道路類型 (例如地區道路或高速公路)
如果最省油或最節能路線與預設路線的抵達時間相近,Routes API 會傳回最省油或最節能路線。如果省油量或節能量過少,或是行車時間大幅增加,API 會顯示不同路線之間相對的省油量或節能量,方便你進行比較。
必要條件
如要使用環保路徑功能或估算燃料耗量,請按照下列步驟操作:
您必須將
TRAFFIC_AWARE_OPTIMAL
指定為路由偏好設定。在這個模式下,伺服器會更全面地搜尋道路網路,找出最佳路線。詳情請參閱「設定品質與延遲時間」。您必須將
travelMode
設為DRIVE
或TWO_WHEELER
。如果要求使用其他交通方式,系統會傳回錯誤。TWO_WHEELER
的環保路線功能僅支援部分國家/地區。你必須在支援的區域中,為起點航點設定位置。否則,API 會傳回錯誤。
如為
TWO_WHEELER
,您必須在支援雙輪車的區域中,為起點航點設定位置。否則,API 會傳回錯誤。路線不得包含中途路線控點。
帳單
一般來說,Google 地圖平台不會對預先發布功能的使用收取費用。不過,由於環保路徑和預估油耗功能需要您將 TRAFFIC_AWARE_OPTIMAL
指定為路徑偏好設定,因此系統會根據 SKU:Compute Routes Pro 計費。
要求環保路徑
如要要求計算環保路線,請在要求中設定下列屬性:
使用 VehicleEmissionType 中定義的值,為車輛指定
emissionType
:DIESEL
、GASOLINE
、ELECTRIC
或HYBRID
。預設值為GASOLINE
。將
requestedReferenceRoutes
設為FUEL_EFFICIENT
。設定回應欄位遮罩,指定要傳回與環保路線相關聯的回應屬性:
routes.routeLabels:
將每條路線識別為DEFAULT_ROUTE
、FUEL_EFFICIENT
或DEFAULT_ROUTE_ALTERNATE
。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: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
環保回覆範例
上述 computeRoutes
呼叫會產生 JSON 回應,其中包含兩條路線:預設路線和省油路線。在回應中:
在預設路徑中,
routeLabels
陣列屬性包含DEFAULT_ROUTE
。如果是環保路線,
routeLabels
陣列屬性會包含FUEL_EFFICIENT
。如果在要求中將
computeAlternativeRoutes
設為true
,以計算替代路線,則routeLabels
陣列屬性會包含DEFAULT_ROUTE_ALTERNATE
。
{ "routes": [ { "distanceMeters": 138939, "duration": "5412s", "routeToken": "CoYJCpoIC…0n9S1cu", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 116887, "duration": "5631s", "routeToken": "CuEHCu0G…xqm", "routeLabels": [ "FUEL_EFFICIENT" ] } ] }
由於目前的行車狀況和其他因素,預設路線和環保路線可能會相同。在此案例中,routeLabels
包含 DEFAULT_ROUTE
和 FUEL_EFFICIENT
兩個標籤:
{ "routes": [ { "distanceMeters": 45875, "duration": "2655s", "routeToken": "CvcDCos…6I40", "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ] } ] }
預估路線的耗油量
你可以要求該方法傳回整條路線的預估燃料用量 (以微升為單位)。如要將路線的預估燃料用量新增至回應,請按照下列步驟操作:
將
extraComputations
陣列欄位設為FUEL_CONSUMPTION
,即可啟用燃料用量計算功能。使用 VehicleEmissionType 中定義的值,為車輛指定
emissionType
:DIESEL
、GASOLINE
、ELECTRIC
或HYBRID
。預設值為GASOLINE
。如果
emissionType
為HYBRID
,API 會將耗電量和燃料消耗量換算為微升燃料。如果
emissionType
為ELECTRIC
,API 會將耗電量換算為微升的燃料。設定回應欄位遮罩,指定要傳回與燃油用量相關聯的回應屬性:
routes.travelAdvisory.fuelConsumptionMicroliters
。
以下範例要求預估燃料用量,並將其納入也包含環保路線的要求中:
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", "extraComputations": ["FUEL_CONSUMPTION"], "requestedReferenceRoutes": ["FUEL_EFFICIENT"] }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken,routes.travelAdvisory.fuelConsumptionMicroliters' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
回覆包含預設路線和環保路線的預估油耗:
{ "routes": [ { "distanceMeters": 138939, "duration": "5412s", "travelAdvisory": { "fuelConsumptionMicroliters": "11019554" }, "routeToken": "CoYJCpoIC…0n9S1cu", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 116887, "duration": "5631s", "travelAdvisory": { "fuelConsumptionMicroliters": "9572436" }, "routeToken": "CuEHCu0G…xqm", "routeLabels": [ "FUEL_EFFICIENT" ] } ] }
支援的地區
Google 地圖平台團隊持續致力於擴大 API 服務涵蓋範圍,支援更多國家/地區。下表列出各國家/地區的最新環保路線涵蓋範圍詳細資料:
- 阿爾巴尼亞 (AL)
- 澳洲 (AU)
- 奧地利 (AT)
- 比利時 (BE)
- 波士尼亞與赫塞哥維納 (BA)
- 保加利亞 (BG)
- 加拿大 (CA)
- 克羅埃西亞 (HR)
- 賽普勒斯 (CY)
- 捷克 (CZ)
- 丹麥 (DK)
- 埃及 (EG)
- 愛沙尼亞 (EE)
- 芬蘭 (FI)
- 法國 (FR)
- 德國 (DE)
- 希臘 (GR)
- 匈牙利 (HU)
- 冰島 (IS)
- 印度 (IN)
- 印尼 (ID)
- 愛爾蘭 (IE)
- 義大利 (IT)
- 科索沃 (XK)
- 拉脫維亞 (LV)
- 列支敦斯登 (LI)
- 立陶宛 (LT)
- 盧森堡 (LU)
- 馬爾他 (MT)
- 墨西哥 (MX)
- 蒙特內哥羅 (ME)
- 荷蘭 (NL)
- 北馬其頓 (MK)
- 挪威 (NO)
- 波蘭 (PL)
- 葡萄牙 (PT)
- 羅馬尼亞 (RO)
- 沙烏地阿拉伯 (SA)
- 塞爾維亞 (RS)
- 斯洛伐克 (SK)
- 斯洛維尼亞 (SI)
- 西班牙 (ES)
- 瑞典 (SE)
- 瑞士 (CH)
- 土耳其 (TR)
- 阿拉伯聯合大公國 (AE)
- 英國 (GB)
- 美國 (US)
支援兩輪車的地區
下表列出兩輪車輛環保路線的最新涵蓋範圍詳細資料 (依國家/地區劃分):
- 印度 (IN)
- 印尼 (ID)