Получите экологически чистый маршрут

По умолчанию API маршрутов возвращает маршрут по умолчанию , то есть маршрут без учета топлива или энергоэффективности. Когда вы включаете экологически чистую маршрутизацию , вы все равно получаете в ответе маршрут по умолчанию. Кроме того, вы также получите экологически чистый маршрут, показывающий наиболее экономичный маршрут в зависимости от типа двигателя вашего автомобиля.

Экологически чистый маршрут, возвращаемый API маршрутов, оптимизирован для снижения расхода топлива на всем маршруте. API использует тип двигателя вашего автомобиля, а также другие факторы, такие как движение транспорта в реальном времени и дорожные условия, для выбора экологически чистого маршрута. Чем более экономичен расход топлива или энергии маршрут, тем ниже расход топлива/энергии вашего автомобиля и выбросы CO2.

Например, относительное преимущество дизельного автомобиля в экономии топлива обычно является наибольшим при движении по шоссе. Гибридные и электромобили, как правило, обеспечивают все большую эффективность при движении по городу с остановками и на холмистой местности, где они могут широко использовать и получать выгоду от рекуперативного торможения.

Вы также можете запросить, чтобы API возвращал расчетный расход топлива на всем маршруте. Используйте оценки расхода топлива как способ сравнения различных маршрутов, а не как явные оценки расхода топлива для вашего конкретного автомобиля.

Как Google Maps оценивает топливную экономичность

Routes API оценивает топливную эффективность, используя данные Национальной лаборатории возобновляемых источников энергии Министерства энергетики США и данные Европейского агентства по окружающей среде. Этот расчет включает факторы, влияющие на потребление топлива и энергии, а также выбросы CO2, такие как:

  • Средний расход топлива или энергии транспортными средствами в вашем регионе
  • Крутизна холмов на вашем маршруте
  • Схема движения с остановками
  • Типы дорог (например, местные дороги или автомагистрали)

API маршрутов возвращает наиболее экономичный по расходу топлива или энергии маршрут, если время его прибытия примерно такое же, как у маршрута по умолчанию. В тех случаях, когда экономия топлива или энергии слишком мала или значительно увеличивает время в пути, API показывает относительную экономию топлива или энергии между маршрутами, чтобы помочь вам сравнить.

Узнайте больше о технологии экологически чистой маршрутизации (PDF) .

Предварительные условия

Чтобы использовать экологически чистый маршрут или оценить расход топлива:

  • Вы должны указать TRAFFIC_AWARE_OPTIMAL в качестве предпочтения маршрутизации. В этом режиме сервер выполняет более полный поиск дорожной сети для поиска оптимального маршрута. Дополнительные сведения см. в разделе Настройка качества и задержки .

  • Вы должны установить для travelMode значение DRIVE . Запросы на любой другой режим передвижения возвращают ошибку.

  • Вы должны установить местоположение исходной путевой точки в поддерживаемом регионе . В противном случае API возвращает ошибку.

  • Маршрут не может содержать промежуточную точку.

Биллинг

Обычно платформа Google Maps не взимает плату за использование функции предварительного просмотра. Однако, поскольку для создания экологически чистого маршрута и оценки расхода топлива необходимо указать TRAFFIC_AWARE_OPTIMAL в качестве предпочтения маршрута, плата взимается в зависимости от SKU: Routes Advanced .

Узнайте больше о выставлении счетов за Routes API.

Запросить экологически чистый маршрут

Чтобы сделать запрос на расчет экологически чистого маршрута, установите в запросе следующие свойства:

  • Укажите emissionType для транспортного средства, используя значения, определенные в VehicleEmissionType : DIESEL , GASOLINE , ELECTRIC или HYBRID . Значение по умолчанию — GASOLINE .

  • Установите для параметра requestedReferenceRoutes значение FUEL_EFFICIENT .

  • Установите маску поля ответа, которая указывает на возврат свойств ответа, связанных с экологически чистым маршрутом:

    • routes.routeLabels: Идентифицирует каждый маршрут как DEFAULT_ROUTE , FUEL_EFFICIENT или DEFAULT_ROUTE_ALTERNATE .

    • routes.routeToken: токен маршрута, который можно передать в навигационный SDK для получения пользовательского маршрута.

Пример экологически чистого запроса

Следующий код показывает запрос на экологически чистый маршрут. В этом примере вы используете маску поля ответа для возврата свойств ответа, связанных с экологически чистым маршрутом, а также свойств routes.distanceMeters и 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'

Пример экологически чистого ответа

Вызов computeRoutes , приведенный выше, генерирует ответ JSON, содержащий два маршрута: маршрут по умолчанию и маршрут с экономичным расходом топлива. В ответ:

  • Для маршрута по умолчанию свойство массива routeLabels содержит DEFAULT_ROUTE .

  • Для экологически чистого маршрута свойство массива routeLabels содержит FUEL_EFFICIENT .

  • Если для computeAlternativeRoutes для вычисления альтернативных маршрутов в запросе задано значение true , свойство массива routeLabels будет содержать DEFAULT_ROUTE_ALTERNATE .

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

Из-за текущих условий вождения и других факторов маршрут по умолчанию и экологически чистый маршрут могут совпадать. В этом случае routeLabels содержит обе метки: DEFAULT_ROUTE и FUEL_EFFICIENT :

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

Оцените расход топлива на маршруте

Вы можете запросить метод, чтобы получить расчетный расход топлива для всего маршрута в микролитрах. Чтобы добавить в ответ расчетный расход топлива для маршрута:

  • Установите для поля массива extraComputations значение FUEL_CONSUMPTION чтобы включить расчет расхода топлива.

  • Укажите emissionType для транспортного средства, используя значения, определенные в VehicleEmissionType : DIESEL , GASOLINE , ELECTRIC или HYBRID . Значение по умолчанию — GASOLINE .

    Если emissionType имеет значение HYBRID , API преобразует расход электроэнергии и топлива в микролитры топлива.

    Если emissionTypeELECTRIC , API преобразует потребление электроэнергии в микролитры топлива.

  • Установите маску поля ответа, которая указывает на возврат свойств ответа, связанных с использованием топлива: routes.travelAdvisory.fuelConsumptionMicroliters .

В следующем примере запрашивается расчетный расход топлива как часть запроса, который также включает экологически чистый маршрут:

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'

В ответе содержится расчетный расход топлива как для маршрута по умолчанию, так и для экологически чистого маршрута:

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

Поддерживаемые регионы

Команда платформы Google Maps постоянно работает над улучшением международного покрытия наших сервисов API. В следующем списке показаны последние сведения о покрытии для экологически безопасных маршрутов по странам:

  • Албания (AL)
  • Австрия (Австрия)
  • Бельгия (BE)
  • Босния и Герцеговина (BA)
  • Болгария (БГ)
  • Канада (Калифорния)
  • Хорватия (HR)
  • Кипр (CY)
  • Чехия (CZ)
  • Дания (ДК)
  • Эстония (EE)
  • Финляндия (FI)
  • Франция (FR)
  • Германия (DE)
  • Греция (GR)
  • Венгрия (HU)
  • Исландия (ИС)
  • Ирландия (IE)
  • Италия (ИТ)
  • Косово (XK)
  • Латвия (LV)
  • Лихтенштейн (LI)
  • Литва (LT)
  • Люксембург (LU)
  • Мальта (MT)
  • Черногория (МЭ)
  • Нидерланды (NL)
  • Северная Македония (МК)
  • Норвегия (НЕТ)
  • Польша (PL)
  • Португалия (ПТ)
  • Румыния (РО)
  • Сербия (РС)
  • Словакия (СК)
  • Словения (SI)
  • Испания (ES)
  • Швеция (ЮВ)
  • Швейцария (CH)
  • Турция (ТР)
  • Великобритания (Великобритания)
  • Соединенные Штаты (США)