Получить транзитный маршрут

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

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

Чем транзитные маршруты отличаются от других маршрутов

Маршруты общественного транспорта, запрашиваемые с помощью параметра travelMode TRANSIT , отличаются от маршрутов с другими вариантами режима передвижения. Вы не можете запросить все те же объекты и варианты, а ответ возвращает другие поля по сравнению с другими маршрутами.

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

Запрос различий Различия в ответах
Промежуточные точки маршрута указывать нельзя. Включает сведения о транзите.
Невозможно получить экологически чистые маршруты Включает метаданные для каждого режима передвижения, содержащие сводку шагов для этого режима передвижения, в stepsOverview (чтобы запросить эти метаданные, используйте маску поля stepsOverview ).
Невозможно указать, как и следует ли включать данные о дорожном движении.
Невозможно указать особенности маршрута, которые следует избегать.
Можно указать только transitPreferences . Подробности см. в разделе TransitPreference .

Чтобы получить транзитный маршрут

  1. Укажите пункт отправления и пункт назначения.
  2. Установите travelMode на TRANSIT .
  3. Добавьте соответствующие маски полей, чтобы получить нужный ответ. См. раздел Запрос необходимых полей маршрута транзита .
  4. При необходимости задайте дополнительные параметры. См. раздел «Задание параметров для маршрута общественного транспорта».

Запросите необходимые вам поля транзитного маршрута

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

Чтобы запросить эту информацию Используйте эту маску поля
Все детали маршрута. *
Подробная информация о транзитных участках маршрута. legs
Расчетная стоимость проезда на каждом этапе маршрута и локальная расчетная стоимость проезда. travelAdvisory
Локализованный текст для продолжительности и расстояния localizedValues

Установить параметры транзитного маршрута

Вот соответствующие параметры транзитных маршрутов:

Чтобы сделать это Используйте этот параметр Примечания
Выберите режим транзита travelMode: "TRANSIT" Обязательно. Узнать больше .
Установите время прибытия или отправления arrivalTime: new Date(yyyy-mm-ddThh:mm:ssZ)

ИЛИ

departureTime: new Date(yyyy-mm-ddThh:mm:ssZ)
Необязательно. Можно указать либо время прибытия, либо время отправления. Если ни одно из времени не указано, в качестве времени departureTime по умолчанию используется текущее время выполнения ( now ). Время прибытия и отправления можно задать только в пределах следующего временного интервала, используя текущее время выполнения ( now ) в качестве точки отсчёта:
  • до 7 дней включительно до now
  • до 100 дней включительно после now
Время выражается как объект Date .

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

Включить альтернативные маршруты computeAlternativeRoutes: true Необязательно. Установите значение true, чтобы computeRoutes вычислял до 3 дополнительных маршрутов (при их наличии). Подробнее
Укажите предпочтения по типу транзита transitPreference: {allowedTransitModes: ["BUS", "SUBWAY", "TRAIN", "LIGHT_RAIL", "RAIL"]}

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

Необязательно. Укажите предпочтительные виды транспорта. Узнать больше
Укажите предпочтения по маршруту транзита transitPreference: {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} Необязательно. Укажите предпочтения по маршрутизации общественного транспорта. Подробнее

Пример запроса

В следующем примере показано, как запросить транзитный маршрут:

const request = {
  origin: 'Hunters Point San Francisco, CA 94124',
  destination: '201 Marine Dr, San Francisco, CA 94129',
  travelMode: 'TRANSIT',
  departureTime: new Date(),
  transitPreference: {
    allowedTransitModes: ['BUS', 'SUBWAY', 'TRAIN', 'LIGHT_RAIL', 'RAIL'],
    routingPreference: 'FEWER_TRANSFERS', // Alternatively, 'LESS_WALKING'.
  },
  fields: ['path', 'legs', 'travelAdvisory', 'localizedValues'],
};