Метод 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 для объекта маршрута, а затем используйте метод setMap, чтобы задать карту ломаной линии для объекта карты. Объект карты используется для отображения ломаной линии на карте.
В следующем примере показано, как отобразить ломаную линию на карте.
// Call createPolylines to create polylines for the first route. mapPolylines = routes[0].createPolylines(); // Add polylines to the map. mapPolylines.forEach((polyline) => polyline.setMap(map));