Quando l'API Routes calcola una route, prende le tappe e i parametri di configurazione che fornisci come input. L'API restituisce quindi una risposta che contiene il percorso predefinito e uno o più percorsi alternativi.
La tua risposta può includere diversi tipi di route e altri dati, in base al campi richiesti:
Per includerlo nella risposta | Consulta questa documentazione |
---|---|
Il percorso più efficiente dal punto di vista energetico o del carburante in base al tipo di motore del veicolo. | Configurare percorsi ecosostenibili |
Fino a tre percorsi alternativi | Richiedere percorsi alternativi |
La polilinea di un intero percorso, per ogni tratto di un percorso e per ogni passaggio di una gamba. | Richiedere le polilinee di route |
I pedaggi stimati, tenendo conto di eventuali sconti sul prezzo del pedaggio o tessere disponibili per il conducente o il veicolo. | Calcolare le tariffe dei pedaggi |
Risposte localizzate per codici lingua e unità di misura (imperali o ). | Richiedi valori localizzati |
Per formattare le istruzioni di navigazione come stringa di testo HTML, aggiungi HTML_FORMATTED_NAVIGATION_INSTRUCTIONS a
extraComputations . |
Calcolo extra |
Per l'elenco completo delle opzioni di immissione, vedi Opzioni di percorso disponibili. e ai Corpo della richiesta.
Utilizzando la risposta, puoi fornire ai clienti le informazioni necessarie per selezionare il percorso appropriato per le sue esigenze.
Informazioni sulle maschere dei campi
Quando chiami un metodo per calcolare una route, devi specificare un campo che definisce i campi da restituire nella risposta. Non esiste elenco predefinito dei campi restituiti. Se ometti questo elenco, i metodi restituiscono un errore.
Gli esempi in questo documento mostrano l'intero oggetto di risposta senza prendere in considerazione le maschere di campo. In un ambiente di produzione, la risposta includerebbe solo i campi specificati esplicitamente nella maschera di campo.
Per ulteriori informazioni, vedi Scegliere le informazioni da restituire.
Informazioni sulla visualizzazione dei copyright
Quando mostri i risultati agli utenti, devi includere la seguente dichiarazione sul copyright:
Powered by Google, ©YEAR Google
Ad esempio:
Powered by Google, ©2023 Google
Informazioni su percorsi, tratti e passaggi
Prima di esaminare la risposta restituita dall'API Routes, devono comprendere le componenti che compongono un percorso:
La tua risposta può contenere informazioni su ciascuno di questi componenti di route:
Percorso: l'intero viaggio dal waypoint di partenza, attraverso eventuali waypoint intermedi, al waypoint di destinazione. Un percorso è composto da o più gambe.
Linea: il percorso da una tappa di un percorso a quella successiva nella percorso. Ogni gamba è costituita da uno o più passi discreti.
Un itinerario contiene un tratto separato per il percorso da ogni waypoint al successivo. Ad esempio, se il percorso contiene un singolo waypoint di partenza e un singolo waypoint di destinazione, il percorso contiene un singolo tratto. Per ogni una tappa successiva che aggiungi al percorso dopo il luogo di partenza e la destinazione. chiamata waypoint intermedio, l'API aggiunge un tratto separato.
L'API non aggiunge un tratto per una tappa intermedia pass-through. Per ad esempio una route che contiene una tappa di partenza, un percorso tappa intermedia e una tappa di destinazione contiene solo un tratto da dall'origine alla destinazione, passando per la tappa. Per ulteriori informazioni sui waypoint passthrough, consulta Definire un waypoint passthrough.
Passaggio: una singola istruzione lungo la tratta di un percorso. Un passo è il passaggio unità atomica di una rotta. Ad esempio, un passaggio può indicare "Svolta a sinistra su Principale Street".
Contenuto della risposta
L'oggetto JSON che rappresenta la risposta API contiene le seguenti proprietà di primo livello:
routes
, un array di elementi di tipo Route. L'arrayroutes
contiene un elemento per ogni route restituita dall'API. L'array può contenere un massimo di cinque elementi: la route predefinita, ecosostenibile e fino a tre percorsi alternativi.geocodingResults
, un array di elementi di tipo GeocodingResults. Per ogni località nella richiesta (origine, destinazione o waypoint) che hai specificato come stringa di indirizzo o come Plus Code, l'API esegue una ricerca dell'ID luogo. Ogni elemento di questo array contiene ID luogo corrispondente a una località. Le località nella richiesta specificate come ID luogo o come coordinate di latitudine/longitudine non sono incluse. Se hai specificato tutte le località utilizzando gli ID luogo o la latitudine e la longitudine questo array non è fornito.fallbackInfo
, di tipo FallbackInfo. Se l'API non è in grado di calcolare una route da tutte le proprietà di input, potrebbe ricorrere a un metodo di calcolo diverso. Quando il video di riserva , questo campo contiene informazioni dettagliate sulla risposta. In caso contrario, questo campo non viene impostato.
La risposta ha il seguente formato:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Decriptare l'array di route
La risposta contiene l'array routes
, dove ogni elemento dell'array è di tipo
Percorso.
Ogni elemento dell'array rappresenta un intero percorso dall'origine alla destinazione. La
L'API restituisce sempre almeno una route, chiamata route predefinita.
Puoi richiedere route aggiuntive. Se richiedi un
percorso ecosostenibile, l'array può contenere due elementi:
percorso predefinito e percorso ecosostenibile. In alternativa, imposta computeAlternativeRoutes
su
true
nella richiesta di aggiungere fino a tre route alternative alla risposta.
Ogni route nell'array viene identificata con la proprietà dell'array routeLabels
:
Valore | Descrizione |
---|---|
DEFAULT_ROUTE |
Identifica la route predefinita. |
FUEL_EFFICIENT |
Identifica il percorso ecosostenibile. |
DEFAULT_ROUTE_ALTERNATE |
Indica un percorso alternativo. |
L'array legs
contiene la definizione di ogni tratto del percorso. I restanti
come distanceMeters
, duration
e polyline,
contengono
informazioni sul percorso nel suo complesso:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
A causa delle attuali condizioni di guida e di altri fattori, il percorso predefinito e
il percorso ecosostenibile può essere lo stesso. In questo caso, l'array routeLabels
contiene entrambe le etichette: DEFAULT_ROUTE
e FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Informazioni sull'array delle gambe
Ogni route
nella risposta contiene un array legs
, dove ogni array legs
l'elemento è di tipo
RouteLeg.
Ogni tratto dell'array definisce il percorso da una tappa a quella successiva.
lungo il percorso. Un itinerario contiene sempre almeno una tappa.
La proprietà legs
contiene la definizione di ogni passaggio lungo la gamba in
Array steps
. Le altre proprietà, come distanceMeters
, duration
,
e polyline
contengono informazioni sulla gamba.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
Comprendere l'array dei passaggi
Ogni gamba nella risposta contiene un array steps
, in cui ogni array steps
l'elemento è di tipo
RouteLegStep:
Un passo corrisponde a una singola istruzione lungo il tratto. Una gamba contiene sempre
almeno un passaggio.
Ogni elemento dell'array steps
include navigationInstruction
proprietà, di tipo
NavigationInstruction,
che contiene l'istruzione del passaggio. Ad esempio:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions
potrebbe contenere informazioni aggiuntive sul passaggio. Ad
esempio:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
Le proprietà rimanenti nel passaggio descrivono informazioni sul passaggio, ad esempio distanceMeters
, duration
e polyline
:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
Specifica la lingua delle istruzioni del passaggio
L'API restituisce le informazioni sul percorso nella lingua locale, traslitterate in uno script leggibile dall'utente, se necessario, rispettando la lingua preferita. I componenti dell'indirizzo vengono tutti restituiti nella stessa lingua.
Utilizza il parametro
languageCode
di un richiedi a impostare esplicitamente la lingua di routing dall'elenco delle lingue. Google aggiorna spesso le informazioni lingue diverse, pertanto l'elenco potrebbe non essere esaustivo.Se un nome non è disponibile nella lingua specificata, l'API utilizza la classe la corrispondenza più simile.
La lingua specificata può influenzare l'insieme di risultati che L'API sceglie i resi e l'ordine in cui vengono restituiti. La geocodificatore interpreta le abbreviazioni in modo diverso a seconda della lingua, ad esempio le abbreviazioni dei tipi di strada o i sinonimi che possono essere validi in una lingua, ma non in un'altra. Ad esempio, utca e tér sono sinonimi di strada in ungherese.
Comprendere l'array geocodingResults
Per ogni località nella richiesta (origine, destinazione o
waypoint) specificata come stringa di indirizzo o come Plus Code, il valore
L'API tenta di trovare la località più pertinente con un luogo corrispondente
ID. Ogni elemento
geocodingResults
contiene il campo placeID
contenente la posizione come ID luogo e un campo type
che specifica la località
di tipo, ad esempio street_address
, premise
o airport
.
L'array geocodingResults
contiene tre campi:
origin
: se è stato specificato come stringa indirizzo o come Plus Code, il valore l'ID luogo dell'origine. In caso contrario, questo campo viene omesso dalla risposta.destination
: se è stato specificato come stringa indirizzo o come Plus Code, l'ID luogo della destinazione. In caso contrario, questo campo viene omesso dalla risposta.intermediates
: un array contenente l'ID luogo di qualsiasi elemento intermedio le tappe specificate come stringa indirizzo o come Plus Code. Se specifichi un punto intermedio utilizzando un ID luogo o le coordinate di latitudine e longitudine, questo viene omesso dalla risposta. Utilizza la ProprietàintermediateWaypointRequestIndex
nella risposta da determinare la tappa intermedia nella richiesta corrisponde all'ID luogo in la risposta.
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
Comprendere i valori delle risposte localizzate
I valori di risposta localizzati sono un campo di risposta aggiuntivo che fornisce testo localizzato per i valori parametro restituiti. Viene fornito un testo localizzato durata del viaggio, distanza e sistema di unità (sistema metrico o imperiale). Hai richiesto localizzati mediante una maschera di campo e puoi specificare la lingua e di unità di misura o utilizzare i valori dedotti dall'API. Per maggiori dettagli, consulta LocalizedValues.
Ad esempio, se specifichi un codice lingua per il tedesco (de) e il sistema imperiale
unità, si ottiene il valore distanceMeters
di 49889,7,
ma anche un testo localizzato che fornisce
la misurazione della distanza in tedesco e
unità imperiali, quindi "31 Meile".
Ecco un esempio di ciò che vedresti per i valori localizzati:
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
Se non specifichi la lingua o il sistema di unità, l'API deducono la lingua e le unità come segue:
- Il metodo
ComputeRoutes
deducono le unità di misura della posizione e della distanza dal waypoint di partenza. Quindi, per una richiesta di routing negli Stati Uniti, deduceen-US
lingua eIMPERIAL
unità. - Per impostazione predefinita, il metodo
ComputeRouteMatrix
è "en-US" lingua e METRIC.