Trajeto ecológico

Por padrão, a API Routes retorna o trajeto padrão, ou seja, um trajeto sem considerar a eficiência de combustível ou energia. Quando você ativa o roteamento ecológico, ainda recebe a rota padrão na resposta. Além disso, você também recebe um trajeto ecológico mostrando o trajeto mais econômico em termos de combustível ou energia com base no tipo de motor do seu veículo.

O trajeto ecológico retornado pela API Routes é otimizado para reduzir o consumo de combustível em todo o trajeto. A API usa o tipo de motor do veículo com outros fatores, como condições da via e trânsito em tempo real, para escolher a rota ecológica. Quanto mais econômico for o trajeto, menor será o uso de combustível/energia do carro e as emissões de CO2.

Por exemplo, a vantagem relativa da economia de combustível de um veículo a diesel é geralmente maior em rodovias. Os veículos híbridos e elétricos costumam ter uma eficiência progressivamente maior na cidade (com padrões de "anda e para") e em ambientes montanhosos em que eles podem usar e se beneficiar bastante da frenagem regenerativa.

Também é possível solicitar que a API retorne o consumo de combustível estimado para todo o trajeto. Use as estimativas de consumo de combustível para comparar rotas diferentes, não como estimativas explícitas de uso de combustível para seu veículo.

Como o Google Maps estima a economia de combustível

A API Routes estima a eficiência de combustível usando insights do Laboratório Nacional de Energia Renovável do Departamento de Energia dos EUA e dados da Agência Europeia do Ambiente. Esse cálculo inclui fatores que afetam o uso de combustível e energia e as emissões de CO2, como:

  • Consumo médio de combustível ou energia dos veículos na sua região
  • Inclinação das vias no trajeto
  • Padrões de "anda e para" do trânsito
  • Tipos de via (como vias locais ou rodovias)

A API Routes retorna o trajeto mais econômico quando o horário de chegada é quase o mesmo da rota padrão. Quando a economia de combustível ou energia é muito pequena ou aumenta significativamente o tempo de percurso, a API mostra o valor relativo entre os trajetos para você comparar.

Saiba mais sobre a tecnologia de trajetos ecológicos (PDF em inglês)

Pré-requisitos

Para usar trajetos ecológicos ou estimar o consumo de combustível:

  • É necessário especificar TRAFFIC_AWARE_OPTIMAL como a preferência de roteamento. Nesse modo, o servidor realiza uma pesquisa mais completa da rede de estradas para encontrar o trajeto ideal. Para mais informações, consulte Configurar qualidade x latência.

  • Defina travelMode como DRIVE. As solicitações para qualquer outro modo de deslocamento retornam um erro.

  • É necessário definir um local para o ponto de passagem de origem em uma região com suporte. Caso contrário, a API vai retornar um erro.

  • O trajeto não pode conter um waypoint intermediário.

Faturamento

Normalmente, a Plataforma Google Maps não cobra pelo uso de um recurso de pré-lançamento. No entanto, como o cálculo do consumo de combustível e o roteamento ecológico exigem que você especifique TRAFFIC_AWARE_OPTIMAL como a preferência de roteamento, você será cobrado com base no SKU: Routes Advanced.

Saiba mais sobre o faturamento da API Routes.

Solicitar um trajeto ecológico

Para fazer uma solicitação e calcular uma rota ecológica, defina as seguintes propriedades na solicitação:

  • Especifique emissionType para o veículo usando os valores definidos em VehicleEmissionType: DIESEL, GASOLINE, ELECTRIC ou HYBRID. O valor padrão é GASOLINE.

  • Defina requestedReferenceRoutes como FUEL_EFFICIENT.

  • Defina uma máscara de campo de resposta que especifique o retorno das propriedades de resposta associadas a um trajeto ecológico:

    • routes.routeLabels: Identifica cada rota como DEFAULT_ROUTE, FUEL_EFFICIENT ou DEFAULT_ROUTE_ALTERNATE.

    • routes.routeToken: Um token de rota que pode ser transmitido ao SDK de navegação para recuperar uma rota personalizada.

Exemplo de solicitação ecológica

O código a seguir mostra uma solicitação para uma rota ecológica. Neste exemplo, você usa a máscara de campo de resposta para retornar as propriedades de resposta associadas a uma rota ecológica com as propriedades routes.distanceMeters e 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'

Exemplo de resposta ecológica

A chamada computeRoutes acima gera uma resposta JSON que contém duas rotas: a rota padrão e a rota de economia de combustível. Na resposta:

  • Para a rota padrão, a propriedade matriz routeLabels contém DEFAULT_ROUTE.

  • Para a rota ecológica, a propriedade de matriz routeLabels contém FUEL_EFFICIENT.

  • Se você definir computeAlternativeRoutes na solicitação como true para calcular rotas alternativas, a propriedade de matriz routeLabels vai conter DEFAULT_ROUTE_ALTERNATE.

{
    "routes": [
        {
            "distanceMeters": 138939,
            "duration": "5412s",
            "routeToken": "CoYJCpoIC…0n9S1cu",
            "routeLabels": [
                "DEFAULT_ROUTE"
            ]
        },
        {
            "distanceMeters": 116887,
            "duration": "5631s",
            "routeToken": "CuEHCu0G…xqm",
            "routeLabels": [
                "FUEL_EFFICIENT"
            ]
        }
    ]
}

Devido às condições de direção atuais e a outros fatores, a rota padrão e a rota ecológica podem ser as mesmas. Nesse caso, routeLabels contém os dois rótulos: DEFAULT_ROUTE e FUEL_EFFICIENT:

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

Estimar o uso de combustível do trajeto

É possível solicitar que o método retorne o consumo de combustível estimado para todo o percurso em microlitros. Para adicionar o consumo de combustível estimado de uma rota à resposta:

  • Defina o campo de matriz extraComputations como FUEL_CONSUMPTION para ativar o cálculo do uso de combustível.

  • Especifique emissionType para o veículo usando os valores definidos em VehicleEmissionType: DIESEL, GASOLINE, ELECTRIC ou HYBRID. O valor padrão é GASOLINE.

    Se o emissionType for HYBRID, a API vai converter o consumo de eletricidade e combustível em microlitros de combustível.

    Se o emissionType for ELECTRIC, a API vai converter o consumo de eletricidade em microlitros de combustível.

  • Defina uma máscara de campo de resposta que especifique o retorno das propriedades associadas ao uso de combustível: routes.travelAdvisory.fuelConsumptionMicroliters.

O exemplo a seguir solicita o uso de combustível estimado como parte de uma solicitação que também inclui a rota ecológica:

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'

A resposta contém o consumo de combustível estimado para o trajeto padrão e o trajeto ecológico:

{
    "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"
            ]
        }
    ]
}

Regiões compatíveis

A equipe da Plataforma Google Maps trabalha constantemente para melhorar a cobertura internacional dos nossos serviços de API. A lista a seguir mostra os detalhes mais recentes da cobertura para o cálculo de rotas ecológicas em cada país:

  • Albânia (AL)
  • Áustria (AT)
  • Bélgica (BE)
  • Bósnia e Herzegovina (BA)
  • Bulgária (BG)
  • Canadá (CA)
  • Croácia (HR)
  • Chipre (CY)
  • República Tcheca (CZ)
  • Dinamarca (DK)
  • Estônia (EE)
  • Finlândia (FI)
  • França (FR)
  • Alemanha (DE)
  • Grécia (GR)
  • Hungria (HU)
  • Islândia (IS)
  • Irlanda (IE)
  • Itália (IT)
  • Kosovo (XK)
  • Letônia (LV)
  • Liechtenstein (LI)
  • Lituânia (LT)
  • Luxemburgo (LU)
  • Malta (MT)
  • Montenegro (ME)
  • Holanda (NL)
  • Macedônia do Norte (MK)
  • Noruega (NO)
  • Polônia (PL)
  • Portugal (PT)
  • Romênia (RO)
  • Sérvia (RS)
  • Eslováquia (SK)
  • Eslovênia (SI)
  • Espanha (ES)
  • Suécia (SE)
  • Suíça (CH)
  • Turquia (TR)
  • Reino Unido (GB)
  • Estados Unidos (EUA)