Obtén una ruta ecológica

De forma predeterminada, la API de Routes muestra la ruta predeterminada, es decir, una ruta sin considerar el ahorro de combustible o energía. Cuando habilites el enrutamiento ecológico, seguirás recibiendo la ruta predeterminada en la respuesta. Además, se te muestra una ruta ecológica que muestra la que ahorra más 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. Para elegir una ruta ecológica, 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. Cuanto 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 la conducción en 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 avance y de conducción en pendiente, en los que pueden usar ampliamente el frenado regenerativo y pueden beneficiarse del frenado.

También puedes solicitar que la API muestre el consumo de combustible estimado de toda la ruta. Usa las estimaciones de consumo de combustible como una manera de comparar rutas diferentes, no como estimaciones explícitas de uso de combustible para tu vehículo específico.

Cómo calcula Google Maps el consumo de combustible

La API de Routes estima el ahorro de combustible mediante las estadísticas del Laboratorio Nacional de Energías Renovables 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 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 de forma significativa, la API mostrará el ahorro relativo de combustible o energía entre las 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. Si deseas obtener más información, consulta Cómo configurar la calidad frente a la latencia.

  • Debes establecer travelMode en DRIVE. Las solicitudes de cualquier otro medio de transporte 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 la preferencia de ruta, se te cobrará según el 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 ella:

  • 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.

  • Configura una máscara de campo de respuesta que especifique que se mostrarán 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 la 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: 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 predeterminada y la que ahorra combustible. En la respuesta:

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

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

  • Si configuras computeAlternativeRoutes en la solicitud a 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 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"
      ]
    }
  ]
}

Calcula el uso de combustible de la ruta

Puedes solicitar al método que muestre el uso de combustible estimado de toda la ruta en microlitros. Para agregar el uso estimado de combustible de una ruta a la respuesta, sigue estos pasos:

  • 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.

  • Configura una máscara de campo de respuesta que especifique que se mostrarán 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: 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 para 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.)