选择环保路线

默认情况下,Routes API 会返回 default 路由,即路由 而不会考虑燃料或能源效率如果您启用环保主题 路由,您仍然可以在响应中获得默认路由。此外,您还可以 返回显示最省油或最节能的路线的环保路线 。

Routes API 返回的环保路线针对 整个航线的燃料消耗量可降低该 API 使用车辆的引擎 以及实时路况和路况等其他因素, 选择环保路线。路线的燃料或能源效率越高, 降低汽车的燃油/能源使用量和二氧化碳排放量。

例如,柴油车的相对燃油经济优势通常是 公路驾驶最有潜力混合动力汽车和电动汽车往往 走走停停的城市驾驶和丘陵驾驶的效率逐渐提高 可广泛使用再生技术并从中受益 制动。

您也可以请求 API 返回估算的燃料消耗 整条航线使用燃油消耗估算值进行比较 而不是根据具体车辆估算具体的燃料用量估算值。

Google 地图如何估算燃油效率

Routes API 根据来自美国的数据分析估算燃油效率 美国能源部 美国国家可再生能源实验室 以及来自欧洲环境署的数据。计算时会考虑多种因素 影响燃料和能源使用量以及二氧化碳排放量,例如:

  • 您所在地区车辆的平均油耗或能耗
  • 路线沿途山坡陡峭程度
  • 走走停停路况模式
  • 道路类型(例如市县级道路或高速公路)

Routes API 会返回最省油或最节能的路线, 与默认路线的到达时间大致相同。在燃料或 节能量太小或显著增加驾驶时间,API 显示路线之间的相对燃料或节能量,以帮助您进行比较。

不妨详细了解环保路线技术 (PDF)

前提条件

如需使用环保路线或估算油耗,请执行以下操作:

  • 您必须将 TRAFFIC_AWARE_OPTIMAL 指定为路由偏好设置。在本课中, 模式会进行更详尽的道路网搜索, 找到最佳路线。如需了解详情,请参阅 配置质量与延迟时间

  • 您必须将 travelMode 设置为 DRIVE。请求 任何其他出行方式都会返回错误。

  • 您必须为 支持的区域。否则,API 会返回错误。

  • 路线不能包含中间航点。

结算

通常,Google Maps Platform 不会对使用预览版收费 功能。但是,由于环保路线和估算油耗 要求您指定 TRAFFIC_AWARE_OPTIMAL 作为路由偏好设置, 根据 SKU:路线收费 高级

详细了解 Routes API 的结算方式

申请环保路线

如需发出计算环保路线的请求,请设置以下属性 在请求中:

  • 使用emissionType VehicleEmissionType: DIESELGASOLINEELECTRICHYBRID。默认值为 GASOLINE

  • requestedReferenceRoutes 设置为 FUEL_EFFICIENT

  • 设置指定返回响应属性的响应字段掩码 与环保路线相关:

    • routes.routeLabels::用于将每个路线标识为 DEFAULT_ROUTEFUEL_EFFICIENTDEFAULT_ROUTE_ALTERNATE

    • routes.routeToken:。一个路由令牌,您可以将其传递给 Navigation SDK 来检索 自定义路由

环保要求示例

以下代码展示了对环保路线的请求。在此示例中 您可以使用响应字段掩码来返回与 routes.distanceMetersroutes.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_ROUTEFUEL_EFFICIENT 这两个标签:

{
  "routes": [
    {
      "distanceMeters": 45875,
      "duration": "2655s",
      "routeToken": "CvcDCos…6I40",
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ]
    }
  ]
}

估算路线的燃料用量

您可以请求 方法返回整个 Google 产品的估算燃料用量 以微升为单位要将某条路线的估算燃料用量添加到 回答:

  • extraComputations 数组字段设置为 FUEL_CONSUMPTION 以启用 燃料使用情况计算。

  • 使用emissionType VehicleEmissionType: DIESELGASOLINEELECTRICHYBRID。默认值为 GASOLINE

    如果 emissionTypeHYBRID,该 API 会转换电力和燃料 以微升燃料表示

    如果 emissionTypeELECTRIC,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)
  • 奥地利 (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)