Per impostazione predefinita, i waypoint intermedi vengono utilizzati per le fermate per i ritiri e le consegne, ma puoi anche specificare che un waypoint intermedio è destinato solo al transito.
Un percorso che contiene un waypoint di origine, un waypoint intermedio di transito e un waypoint di destinazione contiene un solo tratto che collega l'origine e la destinazione, passando per il waypoint intermedio (chiamato via).
Configura un waypoint intermedio in modo che sia un waypoint di transito impostando la proprietà via del waypoint su true utilizzando l'interfaccia Waypoint.
La proprietà via è più efficace quando si creano percorsi in risposta al trascinamento dei waypoint sulla mappa da parte dell'utente. In questo modo, l'utente può vedere come potrebbe apparire il percorso finale in tempo reale e assicurarsi che i waypoint siano posizionati in luoghi accessibili alla libreria Routes.
Esempio di richiesta
La seguente richiesta di esempio mostra come contrassegnare un waypoint intermedio come waypoint di transito.
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);
Accedi agli ID luogo per le tappe intermedie
Se specifichi la località di un'origine, di una destinazione o di un waypoint intermedio come stringa di indirizzo o come Plus Code, la libreria Routes tenta di trovare la località più pertinente con un ID luogo corrispondente. L'array geocodingResults.intermediates nei risultati contiene l'ID luogo corrispondente alla posizione dei waypoint, insieme a dati aggiuntivi sulla posizione.
Esempio di risposta con risultati di geocodifica
{ "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 } ] }