Работа с полилиниями

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

Метод 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.
};
  

Полилиния с учетом дорожного движения

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

  1. Установите свойство travelMode на DRIVING .
  2. Установите для свойства routingPreference значение TRAFFIC_AWARE .
  3. Установите для свойства extraComputations значение TRAFFIC_ON_POLYLINE .
  4. Укажите поля 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));