- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- PolylineQualità
- Codifica Polyline
- Unità
- Percorso di riferimento
- Computazione extra
- Percorso
- Etichetta route
- Lezione del percorso
- Polilinea
- Percorso LegStep
- Istruzioni di navigazione
- Manovra
- RouteLegStepTravelAdvisory
- RouteLegTravelAdvisory
- area visibile
- Risultati di geocodifica
- GeocodedWaypoint
Restituisce il percorso principale insieme a percorsi alternativi facoltativi, dato un insieme di terminali e tappe intermedie.
NOTA: questo metodo richiede di specificare una maschera di campo di risposta nell'input. Puoi fornire la maschera del campo di risposta utilizzando il parametro URL $fields
o fields
oppure utilizzando un'intestazione HTTP/gRPC X-Goog-FieldMask
(consulta i parametri e intestazioni degli URL disponibili). Il valore è un elenco di percorsi di campo separati da virgole. Consulta la documentazione dettagliata su come creare i percorsi di campo.
Ad esempio, con questo metodo:
- Maschera dei campi di tutti i campi disponibili (per l'ispezione manuale):
X-Goog-FieldMask: *
- Maschera sul campo di durata, distanza e polilinea a livello di percorso (un esempio di configurazione di produzione):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google sconsiglia l'utilizzo della maschera del campo di risposta con caratteri jolly (*
) o specifica la maschera di campo al livello superiore (routes
) perché:
- Selezionare solo i campi necessari aiuta il nostro server a salvare i cicli di calcolo, consentendoci di restituirti il risultato con una latenza più bassa.
- Selezionare solo i campi necessari nel job di produzione assicura prestazioni di latenza stabili. In futuro potremmo aggiungere altri campi di risposta, che potrebbero richiedere un tempo di calcolo aggiuntivo. Se selezioni tutti i campi o selezioni tutti i campi al livello più alto, il rendimento potrebbe peggiorare perché tutti i nuovi campi che aggiungiamo verranno automaticamente inclusi nella risposta.
- Selezionare solo i campi necessari riduce le dimensioni della risposta e, di conseguenza, la velocità effettiva di rete.
Richiesta HTTP
POST https://routes.googleapis.com/directions/v2:computeRoutes
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "origin": { object ( |
Campi | |
---|---|
origin |
Obbligatorio. Punto di partenza. |
destination |
Obbligatorio. Waypoint di destinazione. |
intermediates[] |
Campo facoltativo. Un insieme di tappe lungo il percorso (esclusi i punti terminal), per fermarti o passare. Sono supportati fino a 25 tappe intermedie. |
travelMode |
Campo facoltativo. Specifica la modalità di trasporto. |
routingPreference |
Campo facoltativo. Specifica come calcolare il percorso. Il server tenta di utilizzare la preferenza di routing selezionata per calcolare la route. Se la preferenza di routing genera un errore o una latenza extra lunga, viene restituito un errore. Puoi specificare questa opzione solo quando |
polylineQuality |
Campo facoltativo. Specifica la tua preferenza per la qualità della polilinea. |
polylineEncoding |
Campo facoltativo. Specifica la codifica preferita per la polilinea. |
departureTime |
Campo facoltativo. L'orario di partenza. Se non imposti questo valore, per impostazione predefinita verrà utilizzato l'orario in cui hai effettuato la richiesta. Se imposti questo valore su un'ora già verificatasi, la richiesta non andrà a buon fine. Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
computeAlternativeRoutes |
Campo facoltativo. Specifica se calcolare i percorsi alternativi oltre al percorso. Non vengono restituiti percorsi alternativi per le richieste che hanno tappe intermedie. |
routeModifiers |
Campo facoltativo. Un insieme di condizioni da soddisfare che influiscono sul modo in cui vengono calcolati i percorsi. |
languageCode |
Campo facoltativo. Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita il sito http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Visita la pagina del supporto per le lingue per l'elenco delle lingue supportate. Se non fornisci questo valore, la lingua di visualizzazione viene dedotta dalla posizione della richiesta di percorso. |
regionCode |
Campo facoltativo. Il codice regione, specificato come valore di ccTLD ("dominio di primo livello") a due caratteri. Per ulteriori informazioni, visita la pagina https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains. |
units |
Campo facoltativo. Specifica le unità di misura per i campi di visualizzazione. incluso il campo |
requestedReferenceRoutes[] |
Campo facoltativo. Specifica le route di riferimento da calcolare come parte della richiesta, oltre a quella predefinita. Un percorso di riferimento è un percorso con un obiettivo di calcolo di percorso diverso da quello predefinito. Ad esempio, un calcolo del percorso di riferimento FUEL_EFFICIENT tiene conto di vari parametri che genererebbero un percorso ottimale per il consumo di carburante. |
extraComputations[] |
Campo facoltativo. Un elenco di calcoli aggiuntivi che possono essere utilizzati per completare la richiesta. Nota: questi calcoli aggiuntivi potrebbero restituire campi aggiuntivi nella risposta. Questi campi aggiuntivi devono essere specificati anche nella maschera del campo da restituire nella risposta. |
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
v2.computeRoutes del messaggio di risposta.
Rappresentazione JSON |
---|
{ "routes": [ { object ( |
Campi | |
---|---|
routes[] |
Contiene un array di route calcolate (fino a tre) quando specifichi compute_alternatives_routes e contiene una sola route in caso contrario. Se questo array contiene più voci, la prima è la route più consigliata. Se la matrice è vuota, significa che non è stato trovato alcun percorso. |
fallbackInfo |
In alcuni casi, quando il server non è in grado di calcolare i risultati della route con tutte le preferenze di input, potrebbe utilizzare un metodo di calcolo diverso. Se viene utilizzata la modalità riserva, questo campo contiene informazioni dettagliate sulla risposta di riserva. In caso contrario, questo campo non è impostato. |
geocodingResults |
Contiene informazioni sulla risposta di geocodifica per i tappe specificati come indirizzi. |
Qualità (Polineline)
Un insieme di valori che specifica la qualità della polilinea.
Enum | |
---|---|
POLYLINE_QUALITY_UNSPECIFIED |
Nessuna preferenza di qualità polilinea specificata. Il valore predefinito è OVERVIEW . |
HIGH_QUALITY |
Specifica una polilinea di alta qualità, che viene composta utilizzando più punti rispetto a OVERVIEW , a un costo superiore. Utilizza questo valore quando hai bisogno di una maggiore precisione. |
OVERVIEW |
Specifica una polilinea panoramica, che è composta da un numero ridotto di punti. Utilizza questo valore quando visualizzi una panoramica del percorso. L'utilizzo di questa opzione ha una latenza di richieste inferiore rispetto all'uso dell'opzione HIGH_QUALITY . |
Codifica Polyline
Specifica il tipo di polilinea da restituire.
Enum | |
---|---|
POLYLINE_ENCODING_UNSPECIFIED |
Nessuna preferenza di tipo polilinea specificata. Il valore predefinito è ENCODED_POLYLINE . |
ENCODED_POLYLINE |
Specifica una polilinea codificata utilizzando l'algoritmo di codifica polilinea. |
GEO_JSON_LINESTRING |
Specifica una polilinea utilizzando il formato LineString GeoJSON |
Unità
Un insieme di valori che specifica l'unità di misura utilizzata nel display.
Enum | |
---|---|
UNITS_UNSPECIFIED |
Unità di misura non specificate. Il valore predefinito è l'unità di misura dedotta dalla richiesta. |
METRIC |
Unità di misura metriche. |
IMPERIAL |
Unità di misura imperiali (inglese). |
Percorso di riferimento
Una route di riferimento supportata su ComputeRoutesRequest.
Enum | |
---|---|
REFERENCE_ROUTE_UNSPECIFIED |
Non utilizzato. Le richieste contenenti questo valore non vanno a buon fine. |
FUEL_EFFICIENT |
Percorso a basso consumo di carburante. Le route etichettate con questo valore vengono determinate come ottimizzate per parametri come il consumo di carburante. |
Extracomputazione
Calcolo aggiuntivo da eseguire durante il completamento della richiesta.
Enum | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
Non utilizzato. Le richieste contenenti questo valore avranno esito negativo. |
TOLLS |
Informazioni sul pedaggio per i percorsi. |
FUEL_CONSUMPTION |
Consumo stimato di carburante per i percorsi. |
TRAFFIC_ON_POLYLINE |
Polilinee consapevoli per il traffico lungo i percorsi. |
Itinerario
Incapsula un percorso costituito da una serie di tratti di strada collegati che uniscono i tappe iniziali, finali e intermedie.
Rappresentazione JSON |
---|
{ "routeLabels": [ enum ( |
Campi | |
---|---|
routeLabels[] |
Etichette per |
legs[] |
Una raccolta di gambe (segmenti di percorso tra tappe) che compongono il percorso. Ogni tratta corrisponde alla corsa tra due tappe non |
distanceMeters |
La distanza percorsa del percorso, in metri. |
duration |
Il tempo necessario per esplorare il percorso. Se imposti Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
staticDuration |
La durata del viaggio attraverso il percorso senza considerare le condizioni del traffico. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
polyline |
La polilinea del percorso generale. Questa polilinea sarà la polilinea combinata di tutti i |
description |
Una descrizione del percorso. |
warnings[] |
Un array di avvisi da mostrare durante la visualizzazione del percorso. |
viewport |
Il riquadro di delimitazione dell'area visibile della polilinea. |
travelAdvisory |
Ulteriori informazioni sul percorso. |
routeToken |
Token di percorso sicuro per il Web con codifica Web che può essere trasmesso a NavigazioneSDK, che consente all'SDK di navigazione di ricostruire la route durante la navigazione, e in caso di reindirizzamento che rispetta l'intenzione originale quando viene richiamato Routes v2.computeRoutes. I clienti devono considerare questo token come un blob opaco. NOTA: |
Etichetta route
Etichette per Route
utili per identificare le proprietà specifiche del percorso da confrontare con altre.
Enum | |
---|---|
ROUTE_LABEL_UNSPECIFIED |
Predefinito - non utilizzato. |
DEFAULT_ROUTE |
La route "migliore" predefinita restituita per il calcolo delle route. |
DEFAULT_ROUTE_ALTERNATE |
Un'alternativa al percorso "migliore" predefinito. Route come questa verranno restituite quando viene specificato ComputeRoutesRequest.compute_alternative_routes . |
FUEL_EFFICIENT |
Percorso a basso consumo di carburante. Le route etichettate con questo valore vengono determinate come ottimizzate per i parametri Eco, ad esempio il consumo di carburante. |
Gamba percorso
Incapsula un segmento tra tappe non via
.
Rappresentazione JSON |
---|
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object ( |
Campi | |
---|---|
distanceMeters |
La distanza percorsa dal percorso, in metri. |
duration |
Il tempo necessario per spostarti nella gamba. Se il Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
staticDuration |
La durata del viaggio attraverso la tratta, calcolata senza tenere conto delle condizioni del traffico. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
polyline |
La polilinea complessiva per questa gamba. Viene inclusa la polilinea di ogni |
startLocation |
La posizione iniziale di questa gamba. Potrebbe essere diverso da quello fornito ( |
endLocation |
La posizione finale di questa gamba. Potrebbe essere diverso da quello fornito ( |
steps[] |
Un array che indica i segmenti all'interno di questa gamba. Ogni passaggio rappresenta un'istruzione di navigazione. |
travelAdvisory |
Racchiude le informazioni aggiuntive di cui l'utente deve essere informato, ad esempio la possibile restrizione della zona di traffico e così via su una tratta di percorso. |
Polilinea
Incapsula una polilinea codificata.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo di unione polyline_type . Incapsula il tipo di polilinea. Il valore predefinito è encoded_polyline. polyline_type può essere solo uno dei seguenti: |
|
encodedPolyline |
La codifica delle stringhe della polilinea mediante l'algoritmo di codifica delle polilinee. |
geoJsonLinestring |
Specifica una polilinea utilizzando il formato LineString GeoJSON |
RouteLegStep
Incapsula un segmento di RouteLeg
. Un passaggio corrisponde a una singola istruzione di navigazione. Le parti del percorso sono composte da una serie di passaggi.
Rappresentazione JSON |
---|
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object ( |
Campi | |
---|---|
distanceMeters |
La distanza percorsa di questo passaggio, in metri. In alcuni casi, questo campo potrebbe non avere un valore. |
staticDuration |
La durata del viaggio in questo passaggio senza considerare le condizioni del traffico. In alcuni casi, questo campo potrebbe non avere un valore. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
polyline |
La polilinea associata a questo passaggio. |
startLocation |
La posizione iniziale di questo passaggio. |
endLocation |
La posizione finale di questo passaggio. |
navigationInstruction |
Istruzioni di navigazione. |
travelAdvisory |
Include le informazioni aggiuntive di cui l'utente deve essere informato, ad esempio la possibile limitazione di zona di traffico in un passaggio della gamba. |
Manovra
Un insieme di valori che specifica l'azione di navigazione da intraprendere per il passaggio corrente (ad es. svolta a sinistra, unione, dritta e così via).
Enum | |
---|---|
MANEUVER_UNSPECIFIED |
Non utilizzato. |
TURN_SLIGHT_LEFT |
Gira leggermente verso sinistra. |
TURN_SHARP_LEFT |
Gira tutto a sinistra. |
UTURN_LEFT |
Fai una inversione a sinistra. |
TURN_LEFT |
Gira a sinistra. |
TURN_SLIGHT_RIGHT |
Gira leggermente verso destra. |
TURN_SHARP_RIGHT |
Gira tutto a destra. |
UTURN_RIGHT |
Fai una inversione a U verso destra. |
TURN_RIGHT |
Gira a destra. |
STRAIGHT |
Vai dritto. |
RAMP_LEFT |
Prendi la rampa a sinistra. |
RAMP_RIGHT |
Prendi la rampa giusta. |
MERGE |
Entra nel traffico. |
FORK_LEFT |
Prendi la forchetta sinistra. |
FORK_RIGHT |
Prendi la forchetta giusta. |
FERRY |
Prendi il traghetto. |
FERRY_TRAIN |
Prendi il treno che porta al traghetto. |
ROUNDABOUT_LEFT |
Alla sinistra, alla rotonda. |
ROUNDABOUT_RIGHT |
Alla destra, alla rotonda. |
Avviso di RouteLegStepTravel
Include le informazioni aggiuntive di cui l'utente deve essere informato, ad esempio la possibile limitazione di zona di traffico in un passaggio della gamba.
Rappresentazione JSON |
---|
{
"speedReadingIntervals": [
{
object ( |
Campi | |
---|---|
speedReadingIntervals[] |
NOTA: questo campo non è compilato al momento. |
Avviso di RouteLegTravel
Racchiude le informazioni aggiuntive di cui l'utente deve essere informato, ad esempio la possibile restrizione della zona di traffico e così via su una tratta di percorso.
Rappresentazione JSON |
---|
{ "tollInfo": { object ( |
Campi | |
---|---|
tollInfo |
Include informazioni sui pedaggi per la RouteLeg specifica. Questo campo viene compilato solo se prevediamo che i pedaggi siano presenti su RouteLeg. Se questo campo è impostato, ma il sottocampo stimatePrice non viene compilato, prevediamo che la strada contenga pedaggi, ma non conosciamo un prezzo stimato. Se questo campo non esiste, non è previsto alcun pedaggio per la RouteLeg. |
speedReadingIntervals[] |
Intervalli di lettura della velocità che descrivono nel dettaglio la densità del traffico. Applicabile in caso di preferenze di routing di Esempio:
|
Area visibile
Un'area visibile di latitudine-longitudine, rappresentata da due diagonali di fronte a low
e high
punti. Un'area visibile è considerata una regione chiusa, ovvero include il suo confine. I limiti di latitudine devono essere compresi tra -90 e 90 gradi inclusi, mentre i limiti di longitudine devono essere compresi tra -180 e 180 gradi inclusi. Esistono diversi casi:
Se
low
=high
, l'area visibile è composta dal singolo punto.Se
low.longitude
>high.longitude
, l'intervallo di longitudine viene invertito (l'area visibile attraversa la linea di longitudine di 180 gradi).Se
low.longitude
= -180 gradi ehigh.longitude
= 180 gradi, l'area visibile include tutte le longitudini.Se
low.longitude
= 180 gradi ehigh.longitude
= -180 gradi, l'intervallo di longitudine è vuoto.Se
low.latitude
>high.latitude
, l'intervallo di latitudine è vuoto.
È necessario compilare sia low
che high
e la casella rappresentata non può essere vuota (come specificato dalle definizioni precedenti). Se l'area visibile è vuota, verrà visualizzato un errore.
Ad esempio, questa visualizzazione racchiude interamente New York:
{ "low": { " latitudine": 40.477398, "longitudine": -74.259087 }, "alto": { "latenza": 40.91618, "longitudine": -73.70018 } }
Rappresentazione JSON |
---|
{ "low": { object ( |
Campi | |
---|---|
low |
Obbligatorio. Il punto più basso dell'area visibile. |
high |
Obbligatorio. Il punto più alto dell'area visibile. |
Risultati di geocodifica
Contiene GeocodedWaypoints per l'origine, la destinazione e i punti intermedi. Compilato solo per i punti intermedi degli indirizzi.
Rappresentazione JSON |
---|
{ "origin": { object ( |
Campi | |
---|---|
origin |
Waypoint geocodificato origine. |
destination |
Waypoint geocodificato di destinazione. |
intermediates[] |
Un elenco di tappe intermedie geocodificate contenenti ciascuna un campo indice che corrisponde alla posizione zero-point del punto ordine nell'ordine in cui sono stati specificati nella richiesta. |
Punto di accesso geocodificato
Dettagli sulle località utilizzate come tappe. Compilato solo per i punti intermedi degli indirizzi. Include dettagli sui risultati di geocodifica ai fini di determinare l'indirizzo geocodificato.
Rappresentazione JSON |
---|
{
"geocoderStatus": {
object ( |
Campi | |
---|---|
geocoderStatus |
Indica il codice di stato risultante dall'operazione di geocodifica. |
type[] |
I tipi di risultato, sotto forma di zero o più tag di tipo. Tipi supportati: https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types |
partialMatch |
Indica che il geocodificatore non ha restituito una corrispondenza esatta per la richiesta originale, anche se è riuscita a far corrispondere parte dell'indirizzo richiesto. Ti consigliamo di esaminare la richiesta originale per verificare l'eventuale presenza di errori ortografici e/o un indirizzo incompleto. |
placeId |
L'ID del luogo per questo risultato. |
intermediateWaypointRequestIndex |
L'indice del waypoint intermedio corrispondente nella richiesta. Compilato solo se il tappe corrispondente è un punto intermedio. |