默认情况下,Routes API 会返回默认路线,即在不考虑燃油或能源效率的情况下。启用环保路由后,您仍然会在响应中获得默认路由。此外,您还可以返回环保路线,根据车辆的发动机类型显示最省油或最节能的路线。
Routes API 返回的环保路线已经过优化,可在整个路线中降低油耗。该 API 会根据车辆的发动机类型以及其他因素(如实时路况和路况)来选择环保路线。路线的燃料或能源效率越高,汽车的油耗/二氧化碳排放量就越低。
例如,柴油车在高速公路上行驶时通常发挥着极大的作用。混合动力汽车和电动汽车在走走停停的城市和山丘地带环境中行驶时,可频繁利用再生制动并从中受益,往往燃油/能源效率会逐步提高。
您还可以请求 API 返回整个路线的估算燃料消耗。燃料消耗估算值是一种比较不同路线的燃料消耗估算值,而不是确切车辆燃料用量的估算值。
Google 地图如何估算燃料效率
Routes API 根据美国能源部国家可再生能源实验室的分析数据和欧洲环境署的数据估算燃油效率。此计算结果中包含会影响油耗和二氧化碳排放量的因素,例如:
- 您所在地区车辆的平均油耗或能耗
- 路线沿途山坡陡峭程度
- 走走停停路况模式
- 道路类型(例如市县级道路或高速公路)
路线 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)