默认情况下,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'
环保响应示例
上面的计算路线调用会生成包含两个路线的 JSON 响应:默认路线和最省油路线。在响应中:
对于默认路由,
routeLabels
数组属性包含DEFAULT_ROUTE
。对于环保路线,
routeLabels
数组属性包含FUEL_EFFICIENT
。如果您在针对
true
的请求中设置computeAlternativeRoutes
以计算备用路由,则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)