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

Разработчики из Европейской экономической зоны (ЕЭЗ)

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

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

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

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

Как Google Карты рассчитывают топливную эффективность

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

  • каково среднее потребление топлива или энергии транспортными средствами в вашем регионе;
  • насколько крутые подъемы вас ожидают;
  • затрудненное движение на маршруте;
  • типы дорог, например обычные дороги или шоссе.

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

Подробнее о технологии определения экологичных маршрутов (PDF)…

Требования

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

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

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

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

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

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

Оплата

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

Подробнее об оплате Routes API…

Как запросить экологичный маршрут

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

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

  • Задайте для параметра requestedReferenceRoutes значение FUEL_EFFICIENT.

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

    • routes.routeLabels: Определяет каждый маршрут как DEFAULT_ROUTE, FUEL_EFFICIENT или DEFAULT_ROUTE_ALTERNATE.

    • routes.routeToken: Токен маршрута, который можно передать в Navigation 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 преобразует потребление электричества и топлива в микролитры топлива.

    Если для параметра emissionType задано значение ELECTRIC, 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 Карт постоянно улучшают доступность наших сервисов API во всем мире. В списке ниже указано, в каких странах в настоящее время доступны экологичные маршруты.

  • Албания (AL)
  • Австралия (AU)
  • Австрия (AT)
  • Бельгия (BE)
  • Босния и Герцеговина (BA)
  • Болгария (BG)
  • Канада (CA)
  • Хорватия (HR)
  • Кипр (CY)
  • Чехия (CZ)
  • Дания (DK)
  • Египет (EG)
  • Эстония (EE)
  • Финляндия (FI)
  • Франция (FR)
  • Германия (DE)
  • Греция (GR)
  • Венгрия (HU)
  • Исландия (IS)
  • Индия (IN)
  • Индонезия (ID)
  • Ирландия (IE)
  • Италия (IT)
  • Косово (XK)
  • Латвия (LV)
  • Лихтенштейн (LI)
  • Литва (LT)
  • Люксембург (LU)
  • Мальта (MT)
  • Мексика (MX)
  • Черногория (ME)
  • Нидерланды (NL)
  • Северная Македония (MK)
  • Норвегия (NO)
  • Польша (PL)
  • Португалия (PT)
  • Румыния (RO)
  • Саудовская Аравия (SA)
  • Сербия (RS)
  • Словакия (SK)
  • Словения (SI)
  • Испания (ES)
  • Швеция (SE)
  • Швейцария (CH)
  • Турция (TR)
  • ОАЭ (AE)
  • Великобритания (GB)
  • США (US)

Регионы, в которых поддерживается режим мотоцикла

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

  • Индия (IN)
  • Индонезия (ID)