默认情况下,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 Maps Platform 不会针对使用预览版功能收取费用。不过,由于环保路线和估算燃油消耗量需要您将 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 Maps Platform 团队始终致力于扩大我们的 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)