Obtén una ruta ecológica

De forma predeterminada, la API de Routes muestra la ruta default, es decir, una ruta sin considerar el ahorro de combustible ni energía. Cuando habilites el enrutamiento ecológico, seguirás recibiendo la ruta predeterminada en la respuesta. Además, verás una ruta ecológica que muestra la ruta con mayor ahorro de combustible o eficiencia energética, según el tipo de motor de tu vehículo.

La ruta ecológica que muestra la API de Routes está optimizada para reducir el consumo de combustible en toda la ruta. La API usa el tipo de motor de tu vehículo junto con otros factores, como el tráfico en tiempo real y las condiciones de las rutas, para elegir la ruta ecológica. Cuanto mayor sea el ahorro de combustible o la eficiencia de la ruta, menores serán el consumo de combustible o energía y las emisiones de CO2 del vehículo.

Por ejemplo, la ventaja relativa del ahorro de combustible de un vehículo diésel suele ser mayor en la conducción en autopista. Los vehículos híbridos y eléctricos suelen proporcionar una eficiencia progresivamente mayor en los entornos de conducción urbana con detención y paso y de conducción en pendiente, en los que pueden usar ampliamente el frenado regenerativo y beneficiarse del uso.

También puedes solicitar que la API muestre el consumo de combustible estimado de toda la ruta. Usa las estimaciones del consumo de combustible como una forma de comparar las distintas rutas, no como estimaciones explícitas del uso de combustible para el vehículo en particular.

Cómo calcula Google Maps el ahorro de combustible

La API de Routes estima el ahorro de combustible mediante las estadísticas del Laboratorio Nacional de Energía Renovable del Departamento de Energía de EE.UU. y los datos de la Agencia Europea de Medio Ambiente. Este cálculo incluye factores que afectan el consumo de combustible y energía, y las emisiones de CO2, como los siguientes:

  • Consumo promedio de combustible o energía para los vehículos de tu región
  • Pendientes en la ruta
  • Patrones de detención del tráfico
  • Tipos de rutas (como rutas locales o autopistas)

La API de Routes muestra la ruta con mayor ahorro de combustible o energía cuando tiene aproximadamente la misma hora de llegada que la ruta predeterminada. En los casos en que el ahorro de combustible o energía sea demasiado pequeño o la duración del viaje aumente de manera significativa, la API mostrará el ahorro relativo de combustible o energía entre las rutas para ayudarte a comparar.

Obtén más información sobre la tecnología de rutas ecológicas (PDF).

Requisitos previos

Para usar rutas ecológicas o estimar el consumo de combustible, haz lo siguiente:

  • Debes especificar TRAFFIC_AWARE_OPTIMAL como preferencia de enrutamiento. En este modo, el servidor realiza una búsqueda más exhaustiva de la red de rutas para encontrar la ruta óptima. Si deseas obtener más información, consulta Cómo configurar la calidad frente a la latencia.

  • Debes establecer travelMode en DRIVE. Las solicitudes para cualquier otro medio de viaje muestran un error.

  • Debes establecer una ubicación para el punto de referencia de origen en una región compatible. De lo contrario, la API muestra un error.

  • La ruta no puede contener un punto de referencia intermedio.

Facturación

Por lo general, Google Maps Platform no cobra por el uso de una función de Versión preliminar. Sin embargo, debido a que las rutas ecológicas y la estimación del consumo de combustible requieren que especifiques TRAFFIC_AWARE_OPTIMAL como preferencia de ruta, se te cobrará según el SKU: Routes Advanced.

Obtén más información sobre la facturación para la API de Routes.

Solicita una ruta ecológica

Para realizar una solicitud a fin de calcular una ruta ecológica, configura las siguientes propiedades en la solicitud:

  • Especifica emissionType para el vehículo con los valores definidos en VehicleEmissionType: DIESEL, GASOLINE, ELECTRIC o HYBRID. El valor predeterminado es GASOLINE.

  • Establece requestedReferenceRoutes en FUEL_EFFICIENT.

  • Establece una máscara de campo de respuesta que especifique que se deben mostrar las propiedades de respuesta asociadas con una ruta ecológica:

    • routes.routeLabels: Identifica cada ruta como DEFAULT_ROUTE, FUEL_EFFICIENT o DEFAULT_ROUTE_ALTERNATE.

    • routes.routeToken:: Es un token de ruta que puedes pasar al SDK de Navigation para recuperar una ruta personalizada.

Ejemplo de solicitud ecológica

En el siguiente código, se muestra una solicitud de una ruta ecológica. En este ejemplo, se usa la máscara de campo de respuesta para mostrar las propiedades de respuesta asociadas con una ruta ecológica junto con las propiedades routes.distanceMeters y 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'

Ejemplo de respuesta ecológica

La llamada computeRoutes anterior genera una respuesta JSON que contiene dos rutas: la predeterminada y la de ahorro de combustible. En la respuesta, figura lo siguiente:

  • Para la ruta predeterminada, la propiedad de array routeLabels contiene DEFAULT_ROUTE.

  • En el caso de la ruta ecológica, la propiedad de array routeLabels incluye FUEL_EFFICIENT.

  • Si configuras computeAlternativeRoutes en la solicitud como true para calcular rutas alternativas, la propiedad de array routeLabels contendrá DEFAULT_ROUTE_ALTERNATE.

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

Debido a las condiciones actuales de conducción y otros factores, la ruta predeterminada y la ruta ecológica pueden ser iguales. En este caso, routeLabels contiene ambas etiquetas: DEFAULT_ROUTE y FUEL_EFFICIENT:

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

Calcula el uso de combustible para la ruta

Puedes solicitar que el método muestre el uso estimado de combustible para toda la ruta, en microlitros. Para agregar el uso estimado de combustible de una ruta a la respuesta, haz lo siguiente:

  • Establece el campo del array extraComputations en FUEL_CONSUMPTION para habilitar el cálculo del uso de combustible.

  • Especifica emissionType para el vehículo con los valores definidos en VehicleEmissionType: DIESEL, GASOLINE, ELECTRIC o HYBRID. El valor predeterminado es GASOLINE.

    Si emissionType es HYBRID, la API convierte el consumo de electricidad y combustible en microlitros de combustible.

    Si emissionType es ELECTRIC, la API convierte el consumo de electricidad en microlitros de combustible.

  • Establece una máscara de campo de respuesta que especifique que se deben mostrar las propiedades de respuesta asociadas con el uso de combustible: routes.travelAdvisory.fuelConsumptionMicroliters.

En el siguiente ejemplo, se solicita un consumo estimado de combustible como parte de una solicitud que también incluye la ruta 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'

La respuesta contiene el consumo estimado de combustible de la ruta predeterminada y de la ruta ecológica:

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

Regiones admitidas

El equipo de Google Maps Platform trabaja constantemente para mejorar la cobertura internacional de nuestros servicios de API. En la siguiente lista, se muestran los detalles de cobertura más recientes por país de las rutas ecológicas:

  • Albania (AL)
  • Austria (AT)
  • Bélgica (BE)
  • Bosnia y Herzegovina (BA)
  • Bulgaria (BG)
  • Canadá (CA)
  • Croacia (HR)
  • Chipre (CY)
  • República Checa (CZ)
  • Dinamarca (DK)
  • Estonia (EE)
  • Finlandia (FI)
  • Francia (FR)
  • Alemania (DE)
  • Grecia (GR)
  • Hungría (HU)
  • Islandia (IS)
  • Irlanda (IE)
  • Italia (IT)
  • Kosovo (XK)
  • Letonia (LV)
  • Liechtenstein (LI)
  • Lituania (LT)
  • Luxemburgo (LU)
  • Malta (MT)
  • Montenegro (ME)
  • Países Bajos (NL)
  • Macedonia del Norte (MK)
  • Noruega (NO)
  • Polonia (PL)
  • Portugal (PT)
  • Rumania (RO)
  • Serbia (RS)
  • Eslovaquia (SK)
  • Eslovenia (SI)
  • España (ES)
  • Suecia (SE)
  • Suiza (CH)
  • Turquía (TR)
  • Reino Unido (GB)
  • Estados Unidos (EE.UU.)