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. Ao ativar o roteamento ecológico, você ainda verá o trajeto padrão na resposta. Além disso, você recebe um trajeto ecológico mostrando o trajeto mais econômico ou mais econômico com base no tipo de motor do veículo.

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

Por exemplo, a vantagem de economia relativa de combustível de um veículo a diesel geralmente é maior na direção em rodovias. Veículos híbridos e elétricos tendem a oferecer eficiência progressivamente maior na condução na cidade e em ambientes montanhosos, em que podem usar e se beneficiar extensivamente dos freios regenerativos.

Você também pode 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 trajetos diferentes, e não como estimativas explícitas de uso do veículo.

Como o Google Maps estima a eficiência 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 locais ou rodovias)

A API Routes retorna o trajeto com mais eficiência de combustível ou energia quando tem aproximadamente o mesmo horário de chegada que a rota padrão. Nos casos em que a economia de combustível ou energia é muito pequena ou aumenta significativamente o tempo de viagem, a API mostra a economia relativa entre os trajetos para ajudar você a 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:

  • Especifique TRAFFIC_AWARE_OPTIMAL como a preferência de roteamento. Nesse modo, o servidor faz uma pesquisa mais completa da rede viária para encontrar o trajeto ideal. Para mais informações, consulte Configurar qualidade x latência.

  • Defina travelMode como DRIVE. As solicitações de qualquer outro meio de transporte retornam um erro.

  • Defina um local para o waypoint de origem em uma região compatível. Caso contrário, a API retorna 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 em fase de pré-lançamento. No entanto, como os trajetos ecológicos e a estimativa do consumo de combustível exigem que você especifique TRAFFIC_AWARE_OPTIMAL como a preferência de trajeto, a cobrança é feita com base no SKU: Routes Advanced.

Saiba mais sobre o faturamento da API Routes.

Solicitar um trajeto ecológico

Para fazer uma solicitação para calcular um trajeto ecológico, 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 para retornar as propriedades de resposta associadas a um trajeto ecológico:

    • routes.routeLabels: Identifica cada trajeto 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 de um trajeto ecológico. Neste exemplo, você usa a máscara do campo de resposta para retornar propriedades de resposta associadas a um trajeto ecológico 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 dois trajetos: o padrão e o econômico. Na resposta:

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

  • Para o trajeto ecológico, a propriedade da matriz routeLabels contém FUEL_EFFICIENT.

  • Se você definir computeAlternativeRoutes na solicitação como true para calcular trajetos alternativos, a propriedade da 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 condução atuais e outros fatores, o trajeto padrão e o ecológico podem ser os mesmos. 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 para o trajeto

Você pode solicitar o método para retornar o uso estimado de combustível para todo o trajeto, em microlitros. Para adicionar o uso estimado de combustível para um trajeto à resposta:

  • Defina o campo de matriz extraComputations como FUEL_CONSUMPTION para ativar o cálculo de 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 emissionType for HYBRID, a API vai converter o consumo de eletricidade e combustível em microlitros de combustível.

    Se 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 para retornar as propriedades de resposta associadas ao uso de combustível: routes.travelAdvisory.fuelConsumptionMicroliters.

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

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 estimado de combustível para o trajeto padrão e o 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, por país, para trajetos ecológicos:

  • 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)
  • Países Baixos (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)