Как задать точку маршрута

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

По умолчанию промежуточные путевые точки используются для остановок, чтобы забрать или высадить пассажиров, но вы также можете указать, что промежуточная путевая точка предназначена только для проезда.

Маршрут, содержащий начальную, промежуточную и конечную путевые точки, состоит из одного этапа, соединяющего начальную и конечную точки и проходящего через промежуточную (via).

Чтобы настроить промежуточную путевую точку как транзитную, задайте для ее свойства via значение true с помощью интерфейса Waypoint.

Свойство via наиболее эффективно при создании маршрутов в ответ на перетаскивание пользователем путевых точек на карте. Это позволяет пользователю увидеть, как может выглядеть окончательный маршрут в режиме реального времени, и помогает убедиться, что путевые точки размещены в местах, доступных для библиотеки Routes.

Пример запроса

В примере запроса ниже показано, как отметить промежуточную путевую точку как транзитную.

const routeRequestWithVia = {
  origin: '100 Moffett Blvd, Mountain View, CA 94043',
  destination: '1199 9th Ave, San Francisco, CA 94122',
  travelMode: 'DRIVING',
  intermediates: [
    {location: 'Half Moon Bay, CA', via: true} // Set the via property to true
  ],
  fields: ['path', 'legs'],
};

// Make the request.
const {routes, fallbackInfo, geocodingResults} = await Route.computeRoutes(routeRequestWithIntermediates);
  

Как получить идентификаторы мест для промежуточных путевых точек

Если вы указываете местоположение начальной, конечной или промежуточной путевой точки в виде строки адреса или кода Plus Code, библиотека Routes пытается найти наиболее подходящее местоположение с соответствующим идентификатором места. Массив geocodingResults.intermediates в результатах содержит идентификатор места, соответствующий местоположению путевых точек, а также дополнительные данные о местоположении.

Пример ответа с результатами геокодирования

{
  "origin": {
    "geocoderStatus": "OK",
    "types": [
      "premise",
      "street_address"
    ],
    "partialMatch": false,
    "placeId": "ChIJb5NgcTa3j4ARrfF4Oc_f6q8",
    "intermediateWaypointRequestIndex": null
  },
  "destination": {
    "geocoderStatus": "OK",
    "types": [
      "premise",
      "street_address"
    ],
    "partialMatch": false,
    "placeId": "ChIJAbIPLl2HhYARQ0SSdDFxU-s",
    "intermediateWaypointRequestIndex": null
  },
  "intermediates": [
    {
      "geocoderStatus": "OK",
      "types": [
        "locality",
        "political"
      ],
      "partialMatch": false,
      "placeId": "ChIJC8sZCqULj4ARVJvnNcic_V4",
      "intermediateWaypointRequestIndex": 0
    }
  ]
}