Метод computeRoutes возвращает маршрут, представленный ломаной линией, в качестве части ответа. Вы можете запросить два типа ломаных линий:
- Базовая ломаная (по умолчанию) — представляет собой маршрут без встроенной в него информации о дорожном движении. Запросы, возвращающие базовую ломаную, тарифицируются по тарифу Routes Basic. Подробнее о тарификации Routes API.
- Полилиния с учётом дорожного движения содержит информацию о дорожной обстановке на маршруте. Дорожная обстановка выражается в категориях скорости (
NORMAL,SLOW,TRAFFIC_JAM), применимых к заданному участку полилинии. Запросы на полилинии с учётом дорожного движения тарифицируются по тарифу Routes Preferred. Подробнее о тарификации Routes API. - Мультимодальная ломаная линия содержит информацию о транзитных маршрутах и дорожном движении. Запросы на мультимодальные ломаные линии тарифицируются по тарифу Routes Preferred. Подробнее о тарификации Routes API.
Базовая полилиния (по умолчанию)
Ломаная линия представлена объектом Polyline ; путь — массивом координат LatLngAltitude . Чтобы вернуть простую ломаную линию, вызовите метод computeRoutes , задав свойству fields значение path , а затем вызовите метод createPolylines для экземпляра маршрута, чтобы получить объект Polyline .
В следующем примере показано, как запросить базовую полилинию:
// Define a basic routes request. const requestWithBasicPolyline = { origin: '155 Steuart St, San Francisco, CA 94105', destination: '450 Powell St, San Francisco, CA 94102', travelMode: 'WALKING', fields: ['path'], // Request path field to get a polyline. };
Полилиния с учетом дорожного движения
Чтобы запросить полилинию с учетом дорожного движения, добавьте к запросу следующие свойства:
- Установите свойство
travelModeнаDRIVING. - Установите для свойства
routingPreferenceзначениеTRAFFIC_AWARE. - Установите для свойства
extraComputationsзначениеTRAFFIC_ON_POLYLINE. - Укажите поля
path,speedPathsиrouteLabels.
В следующем примере показано, как запросить полилинию с учетом дорожного движения:
// Define a traffic aware routes request. const requestWithTraffic = { origin: '200 King St San Francisco, CA 94107', destination: 'Pier 41, San Francisco, CA 94133', travelMode: 'DRIVING', routingPreference: 'TRAFFIC_AWARE', extraComputations: ['TRAFFIC_ON_POLYLINE'], fields: ['speedPaths'], };
Отображение полилиний на карте
Чтобы отобразить полилинии на карте, вызовите createPolylines объекта route, а затем используйте метод setMap , чтобы сопоставить карту полилинии с объектом map. Объект map используется для отображения полилинии на карте.
В следующем примере показано, как отобразить полилинию на карте:
// Call createPolylines to create polylines for the first route. mapPolylines = routes[0].createPolylines(); // Add polylines to the map. mapPolylines.forEach((polyline) => polyline.setMap(map));