Configura rutas ecológicas

De forma predeterminada, la API de Routes muestra la ruta default, lo que significa una ruta sin tener en cuenta el ahorro de combustible o energía. Cuando habilitas el enrutamiento ecológico, 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 se optimiza 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, a fin de elegir la ruta ecológica. Mientras mayor sea el ahorro de combustible o energía de la ruta, menores serán el consumo de combustible y 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 de autopistas. Los vehículos híbridos y eléctricos tienden a proporcionar una eficiencia progresivamente mayor en los entornos de conducción urbana de parada en marcha y en entornos de conducción en pendiente, en los que pueden usar ampliamente el frenado regenerativo y beneficiarse de él.

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

Cómo estima Google Maps la eficiencia del combustible

La API de Routes estima la eficiencia del combustible con 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 uso 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 casi la misma hora de llegada de 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 rutas para ayudarte a compararlo.

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 Cómo configurar la calidad frente a la latencia.

  • Debes establecer travelMode en DRIVE. Las solicitudes para 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 vista previa. Sin embargo, como el enrutamiento ecológico y la estimación del consumo de combustible requieren que especifiques TRAFFIC_AWARE_OPTIMAL como la preferencia de enrutamiento, se te cobrará según el SKU: Routes Advanced.

Obtenga más información sobre la facturación de 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 para 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 del 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 de rutas de procesamiento anterior genera una respuesta JSON que contiene dos rutas: la predeterminada y la de combustible eficiente. En la respuesta:

  • 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 como 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 actuales del viaje y otros factores, la ruta predeterminada y la ruta ecológica pueden ser la misma. En este caso, routeLabels contiene las siguientes etiquetas: DEFAULT_ROUTE y FUEL_EFFICIENT:

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

Estima el uso de combustible de la ruta

Puedes solicitar que el método muestre el uso estimado del combustible de toda la ruta, en microlitros. Para agregar el uso estimado del 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 para mostrar las propiedades de respuesta asociadas con el uso 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: 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 de combustible estimado tanto para la ruta predeterminada como 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, por país, para las rutas ecológicas:

  • Albania (Alabama)
  • 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.)