Obtén una ruta ecológica

De forma predeterminada, la API de Routes muestra la ruta predeterminada, es decir, una ruta que no tiene en cuenta el combustible ni la eficiencia energética. Cuando habilitas la enrutamiento ecológico, de todos modos, 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. Mientras mayor sea la eficiencia de la ruta con respecto al ahorro de combustible o energía, serán menores el consumo de combustible o energía y las emisiones de CO2 de tu vehículo.

Por ejemplo, la ventaja relativa del ahorro de combustible de un vehículo diésel suele ser mayor en las autopistas. 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 avance y de conducción en pendiente, donde pueden utilizar ampliamente el frenado regenerativo y pueden aprovecharlo.

También puedes solicitar que la API muestre el consumo estimado de combustible para toda la ruta. Usa las estimaciones de 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 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 eficiencia energética si 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 significativamente, la API muestra el ahorro relativo de combustible o energía entre las diferentes rutas para ayudarte a compararlas.

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 la 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. Para obtener más información, consulta Configura la calidad en función de la latencia.

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

  • Debes establecer una ubicación para el punto de referencia de origen en una región admitida. 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, como las rutas ecológicas y la estimación del consumo de combustible requieren que especifiques TRAFFIC_AWARE_OPTIMAL como la preferencia de enrutamiento, 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.

Cómo solicitar una ruta ecológica

Para realizar una solicitud para calcular una ruta ecológica, establece 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 devuelvan 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 a computeRoutes anterior genera una respuesta JSON que contiene dos rutas: la ruta predeterminada y la ruta eficiente en 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 conducción actuales y a otros factores, la ruta predeterminada y la ruta ecológica pueden ser las mismas. 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"
      ]
    }
  ]
}

Estima el consumo de combustible de la ruta

Puedes solicitar que el método muestre el consumo estimado de combustible para toda la ruta, en microlitros. Para agregar el consumo 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 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 devuelvan las propiedades de respuesta asociadas con el consumo de combustible: routes.travelAdvisory.fuelConsumptionMicroliters.

En el siguiente ejemplo, se solicita el 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 para la ruta predeterminada y para 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 (US)