默认情况下,Routes API 会返回默认路线,即不考虑燃料或能源效率的路线。启用环保路线后,您仍会在响应中获得默认路线。此外,您还可以根据车辆的发动机类型获取环保路线,其中会显示最省油或最节能的路线。
Routes API 返回的环保路线经过优化,可降低整个路线的油耗。该 API 会根据您车辆的引擎类型以及实时路况和路况等其他因素来选择环保路线。路线的燃油或能源效率越高,汽车的燃油/能源使用量以及二氧化碳排放量就越低。
例如,柴油车在高速公路上通常能发挥相对最佳的燃油效率。混合动力汽车和电动汽车在走走停停的城市和山丘地带环境中行驶时,可频繁使用再生制动并从中受益,往往效率会逐步提高。
您还可以请求 API 返回整个路线的预估燃料消耗量。使用燃油消耗量估算值来比较不同路线,而不是用作具体车辆的明确燃油用量估算值。
Google 地图如何估算燃油效率
Routes API 根据美国能源部国家可再生能源实验室的数据分析和欧洲环境署的数据来估算燃油效率。计算时会考虑对燃油和能源使用量以及二氧化碳排放量有影响的因素,例如:
- 您所在地区车辆的平均油耗或能耗
- 路线沿途山坡陡峭程度
- 走走停停路况模式
- 道路类型(例如市县级道路或高速公路)
当最省油或最节能的路线的到达时间与默认路线大致相同时,Routes API 会返回最省油或最节能的路线。如果节约的油耗或能耗过少或行车时间大幅增加,该 API 会显示各路线之间相对的节油或节能量,方便您进行比较。
前提条件
若要使用环保路线或估算燃油消耗,请执行以下操作:
您必须将
TRAFFIC_AWARE_OPTIMAL
指定为路由偏好设置。在此模式下,服务器会更详尽地搜索道路网,以找到最佳路线。如需了解详情,请参阅配置质量与延迟时间。您必须将
travelMode
设置为DRIVE
。针对任何其他出行方式的请求都会返回错误。您必须在支持的区域内为出发地航点设置位置。否则,该 API 会返回一个错误。
路线不能包含中间航点。
结算
通常,Google Maps Platform 不会就预览版功能的使用收费。不过,由于环保路线和估算燃料消耗要求您将 TRAFFIC_AWARE_OPTIMAL
指定为路线偏好设置,因此您需要根据 SKU:高级路线支付费用。
请求环保路线
如需发出计算环保路线的请求,请在请求中设置以下属性:
使用 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: 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: 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 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)