Классификация транспортных
режимов
В системе маршрутизации используется параметр
travelMode, определяющий способ перемещения между
точками маршрута. От выбранного режима зависит логика построения пути,
допустимые дороги, а также набор дополнительных ограничений и параметров
расчёта.
Основные режимы:
- DRIVING — автомобильный маршрут
- WALKING — пешеходный маршрут
- BICYCLING — велосипедный маршрут
- TRANSIT — маршрут с использованием общественного
транспорта
Каждый режим влияет на алгоритм построения маршрута, приоритет дорог,
а также доступность дополнительных данных (например, расписания
транспорта или велосипедной инфраструктуры).
DRIVING (автомобильный режим)
Режим DRIVING используется для построения
автомобильных маршрутов с учётом дорожной сети, одностороннего движения,
развязок и ограничений.
Особенности режима
- учитываются автомобильные дороги всех классов
- поддерживаются параметры объезда платных дорог и
автомагистралей
- возможен учёт пробок (при включённом trafficModel)
- применяется наиболее сложная модель маршрутизации
Пример запроса
const request = {
origin: "Almaty",
destination: "Astana",
travelMode: google.maps.TravelMode.DRIVING
};
const directionsService = new google.maps.DirectionsService();
directionsService.route(request, (result, status) => {
if (status === "OK") {
console.log(result);
}
});
Дополнительные параметры
- avoidTolls — исключение платных дорог
- avoidHighways — исключение автомагистралей
- avoidFerries — исключение паромных переправ
const request = {
origin: "A",
destination: "B",
travelMode: google.maps.TravelMode.DRIVING,
avoidTolls: true,
avoidHighways: true
};
WALKING (пешеходный режим)
Режим WALKING строит маршруты, ориентированные на
пешеходную инфраструктуру.
Характеристики
- используются тротуары, пешеходные дорожки и переходы
- исключаются автомагистрали, недоступные для пешеходов
- применяется упрощённая модель маршрутизации
- часто учитываются кратчайшие физические расстояния
Особенности расчёта
Приоритет получают:
- пешеходные зоны
- парки и проходные территории
- лестницы и переходы (если доступны в данных)
Пример использования
const request = {
origin: "Metro station",
destination: "Museum",
travelMode: google.maps.TravelMode.WALKING
};
BICYCLING (велосипедный
режим)
Режим BICYCLING оптимизирует маршрут для
велосипедного передвижения.
Основные особенности
- предпочтение велодорожкам и второстепенным дорогам
- избегание автомагистралей
- учёт велосипедной инфраструктуры
- ограниченная доступность в некоторых регионах
Поведенческая модель
маршрута
Алгоритм учитывает:
- наличие велополос
- тип дорожного покрытия
- рельеф (в отдельных регионах)
- безопасность маршрута
Пример запроса
const request = {
origin: "Park A",
destination: "Park B",
travelMode: google.maps.TravelMode.BICYCLING
};
TRANSIT (общественный
транспорт)
Режим TRANSIT используется для построения маршрутов
с использованием общественного транспорта.
Поддерживаемые виды
транспорта
- автобус
- метро
- трамвай
- поезд
- паром (в зависимости от региона)
Особенности режима
- учитываются расписания движения
- формируются пересадки между линиями
- возвращаются сегменты маршрута с типами транспорта
- возможна фильтрация по времени отправления
Дополнительные параметры
- departureTime — время отправления
- arrivalTime — время прибытия
- transitOptions — настройки маршрута
const request = {
origin: "Station A",
destination: "Station B",
travelMode: google.maps.TravelMode.TRANSIT,
transitOptions: {
departureTime: new Date()
}
};
Структура объекта запроса
маршрута
Объект запроса, передаваемый в DirectionsService.route,
содержит набор параметров, влияющих на расчёт маршрута.
Основные поля
- origin — начальная точка
- destination — конечная точка
- travelMode — режим передвижения
- waypoints — промежуточные точки
- optimizeWaypoints — оптимизация порядка точек
- provideRouteAlternatives — альтернативные
маршруты
const request = {
origin: "Point A",
destination: "Point B",
travelMode: google.maps.TravelMode.DRIVING,
waypoints: [
{ location: "Point C", stopover: true },
{ location: "Point D", stopover: true }
],
optimizeWaypoints: true
};
Обработка результатов
маршрутизации
Ответ сервиса содержит структуру DirectionsResult,
включающую маршруты, сегменты и геометрию линий.
Основные элементы результата
- routes — список возможных маршрутов
- legs — сегменты между точками
- steps — детализированные шаги
- polyline — геометрия маршрута
Отрисовка маршрута
const renderer = new google.maps.DirectionsRenderer();
renderer.setMap(map);
renderer.setDirections(result);
Влияние travelMode
на детализацию маршрута
Каждый режим изменяет структуру steps:
- DRIVING — манёвры на дорогах, развязки, съезды
- WALKING — переходы, лестницы, пешеходные пути
- BICYCLING — велодорожки, второстепенные улицы
- TRANSIT — сегменты транспорта и пересадки
Ограничения режимов
передвижения
DRIVING
- зависимость от дорожной карты региона
- возможны отклонения при отсутствии актуальных данных о пробках
WALKING
- невозможность построения маршрутов через закрытые территории
- ограничения на длинные маршруты в отдельных регионах
BICYCLING
- неполное покрытие велосипедной инфраструктуры
- различия в доступности данных по странам
TRANSIT
- зависимость от качества расписаний
- невозможность построения маршрута вне расписания транспорта
Совместное
использование параметров маршрутизации
Режимы передвижения часто комбинируются с дополнительными параметрами
для уточнения результата.
Пример гибкой конфигурации
const request = {
origin: "City Center",
destination: "Suburb",
travelMode: google.maps.TravelMode.DRIVING,
avoidTolls: true,
avoidHighways: false,
provideRouteAlternatives: true
};
Особенности выбора режима
Алгоритм маршрутизации ориентируется на:
- доступность дорожной сети
- приоритет инфраструктуры
- ограничения транспорта
- специфику региона
Внутренняя модель оптимизации перераспределяет веса графа дорог в
зависимости от выбранного travelMode, изменяя итоговый маршрут без
изменения координат входных точек.