По умолчанию промежуточные путевые точки используются для остановок, чтобы забрать или высадить пассажиров, но вы также можете указать, что промежуточная путевая точка предназначена только для проезда.
Маршрут, содержащий начальную, промежуточную и конечную путевые точки, состоит из одного этапа, соединяющего начальную и конечную точки и проходящего через промежуточную (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 } ] }