Obtén una ruta ecológica

De forma predeterminada, la API de Routes muestra la ruta predeterminada, es decir, una ruta sin tener en cuenta el ahorro de combustible o energía. Cuando habilitas el enrutamiento ecológico, igualmente obtienes la ruta predeterminada en la respuesta. Además, obtendrás una ruta ecológica que muestra la ruta con mayor ahorro de combustible o energía 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 la ruta, para elegir la ruta ecológica. Cuanto mayor sea la eficiencia energética o de combustible 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 por autopista. Los vehículos híbridos y eléctricos tienden a proporcionar una eficiencia progresivamente mayor en los entornos de conducción urbana de detención y de desplazamiento y de conducción en colinas, en los que pueden usar ampliamente el frenado regenerativo y aprovecharlo.

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 diferentes rutas, no como estimaciones explícitas del uso de combustible para tu vehículo exacto.

Cómo estima Google Maps el ahorro de combustible

La API de Routes estima el ahorro de combustible con estadísticas del Laboratorio Nacional de Energía Renovable del Departamento de Energía de EE.UU. y 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 si tiene más o menos 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 significativamente, la API mostrará el ahorro relativo de combustible o energía entre las rutas para ayudarte a compararlo.

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

Requisitos previos

Para utilizar las rutas ecológicas o estimar el consumo de combustible, sigue estos pasos:

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

  • Debes configurar travelMode como DRIVE. Las solicitudes para cualquier otro medio de transporte muestran un error.

  • Debes configurar 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 vista previa. Sin embargo, debido a que las rutas ecológicas y la estimación del consumo de combustible requieren que especifiques TRAFFIC_AWARE_OPTIMAL como la preferencia de ruta, se te cobra en función del SKU: Routes Advanced.

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

Solicita una ruta ecológica

Si deseas realizar una solicitud para 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, usarás 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 que ahorra combustible. En la respuesta, figura lo siguiente:

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

  • Para la ruta ecológica, la propiedad del array routeLabels contiene FUEL_EFFICIENT.

  • Si configuras computeAlternativeRoutes en la solicitud de true para calcular rutas alternativas, la propiedad del array routeLabels contiene 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 de manejo actuales y otros factores, la ruta predeterminada y la ecológica pueden ser la misma. 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"
      ]
    }
  ]
}

Cómo calcular el uso de combustible de la ruta

Puedes solicitar al método que 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 de 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 el emissionType es HYBRID, la API convierte el consumo de electricidad y combustible en microlitros de combustible.

    Si el 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 el uso 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, país por país, sobre 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)
  • Türkiye (TR)
  • Reino Unido (GB)
  • Estados Unidos (EE.UU.)