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