Установите промежуточные путевые точки

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

Промежуточные точки маршрута — это указанные места между начальной и конечной точками, через которые должен проходить маршрут.

В одном запросе можно определить до 25 промежуточных точек маршрута, используя свойство массива intermediates метода REST computeRoutes или метода gRPC ComputeRoutes .

Остановки на пути следования против транзитных точек.

Промежуточную точку маршрута можно настроить либо как место остановки, либо как место транзита:

  • Остановка : По умолчанию транспортное средство останавливается в указанном месте. Каждая точка остановки разделяет маршрут, добавляя запись RouteLeg в массив legs в ответе. Для получения дополнительной информации см. раздел «Установка остановки на маршруте» .
  • Проезд через точку маршрута с параметром "via" в значении true : транспортное средство проезжает через указанное место без остановки. Проезд через точки маршрута не добавляет записи в массив legs ". Для получения дополнительной информации см. раздел "Установка точки для проезда по маршруту" .

Участки маршрута и промежуточные точки

Для каждой промежуточной остановки в запросе ответ содержит отдельный объект RouteLeg в массиве routes.legs .

Например, маршрут, включающий пункт отправления, одну промежуточную остановку и пункт назначения, содержит два участка : * Участок 1 : От пункта отправления до промежуточной остановки. * Участок 2 : От промежуточной остановки до пункта назначения.

Пример: Запрос с промежуточной точкой маршрута.

В следующем примере массив intermediates используется для добавления одной промежуточной остановки к маршруту.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Ответ с несколькими ответвлениями маршрута

Поскольку промежуточная точка в запросе является промежуточной остановкой, для которой не установлен параметр "via": true , ответ разделяет маршрут на два участка в массиве legs :

{
  "routes": [
    {
      "distanceMeters": 805,
      "duration": "248s",
      "legs": [
        {
          "distanceMeters": 207,
          "duration": "89s",
          "startLocation": {
            "latLng": {
              "latitude": 37.4197318,
              "longitude": -122.0826233
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          }
        },
        {
          "distanceMeters": 598,
          "duration": "159s",
          "startLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.4176166,
              "longitude": -122.0793882
            }
          }
        }
      ]
    }
  ]
}