Method: computeRoutes

Restituisce il percorso principale insieme a percorsi alternativi facoltativi, in base a un insieme di waypoint intermedi e finali.

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 un'intestazione HTTP/gRPC X-Goog-FieldMask (consulta i parametri e le intestazioni URL disponibili). Il valore è un elenco separato da virgole di percorsi dei campi. Consulta la documentazione dettagliata su come creare i percorsi dei campi.

Ad esempio, in questo metodo:

  • Maschera del campo di tutti i campi disponibili (per l'ispezione manuale): X-Goog-FieldMask: *
  • Maschera del 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 per il campo di risposta con carattere jolly (*) o la specifica della maschera per il campo a livello superiore (routes) perché:

  • La selezione solo dei campi necessari consente al nostro server di risparmiare cicli di calcolo, il che ci consente di restituirti il risultato con una latenza inferiore.
  • La selezione solo dei campi necessari nel job di produzione garantisce un rendimento stabile della latenza. In futuro potremmo aggiungere altri campi di risposta, che potrebbero richiedere tempi di calcolo aggiuntivi. Se selezioni tutti i campi o tutti i campi di primo livello, potresti riscontrare un calo del rendimento perché tutti i nuovi campi che aggiungi verranno inclusi automaticamente nella risposta.
  • La selezione solo dei campi necessari comporta dimensioni della risposta più piccole e, di conseguenza, un throughput di rete più elevato.

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 (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Campi
origin

object (Waypoint)

Obbligatorio. Punto di passaggio di origine.

destination

object (Waypoint)

Obbligatorio. Punto di passaggio di destinazione.

intermediates[]

object (Waypoint)

Facoltativo. Un insieme di punti di passaggio lungo il percorso (esclusi i punti di partenza e di arrivo), da fermarsi o da passare. Sono supportati fino a 25 waypoint intermedi.

travelMode

enum (RouteTravelMode)

Facoltativo. Specifica la modalità di trasporto.

routingPreference

enum (RoutingPreference)

Facoltativo. Specifica come calcolare il percorso. Il server tenta di utilizzare la preferenza di routing selezionata per calcolare il percorso. Se la preferenza di routing genera un errore o una latenza molto lunga, viene restituito un errore. Puoi specificare questa opzione solo quando travelMode è DRIVE o TWO_WHEELER, altrimenti la richiesta non va a buon fine.

polylineQuality

enum (PolylineQuality)

Facoltativo. Specifica la preferenza per la qualità del polilinea.

polylineEncoding

enum (PolylineEncoding)

Facoltativo. Specifica la codifica preferita per il polilinea.

departureTime

string (Timestamp format)

Facoltativo. L'orario di partenza. Se non imposti questo valore, il valore predefinito è la data e l'ora in cui hai effettuato la richiesta. NOTA: puoi specificare un departureTime nel passato solo quando RouteTravelMode è impostato su TRANSIT. I percorsi con il trasporto pubblico sono disponibili fino a 7 giorni nel passato o 100 giorni nel futuro.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

Facoltativo. L'ora di arrivo. NOTA: può essere impostato solo quando RouteTravelMode è impostato su TRANSIT. Puoi specificare departureTime o arrivalTime, ma non entrambi. I percorsi con il trasporto pubblico sono disponibili fino a 7 giorni nel passato o 100 giorni nel futuro.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

Facoltativo. Specifica se calcolare percorsi alternativi oltre al percorso. Non vengono restituiti percorsi alternativi per le richieste con waypoint intermedi.

routeModifiers

object (RouteModifiers)

Facoltativo. Un insieme di condizioni da soddisfare che influiscono sul modo in cui vengono calcolati i percorsi.

languageCode

string

Facoltativo. Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, consulta Identificatore della locale Unicode. Consulta la sezione Supporto delle lingue per l'elenco delle lingue supportate. Se non fornisci questo valore, la lingua di visualizzazione viene dedotta dalla località della richiesta di itinerario.

regionCode

string

Facoltativo. Il codice regione, specificato come valore di due caratteri di un ccTLD ("dominio di primo livello"). Per ulteriori informazioni, consulta Domini di primo livello con codice paese.

units

enum (Units)

Facoltativo. Specifica le unità di misura per i campi di visualizzazione. Questi campi includono il campo instruction in NavigationInstruction. Le unità di misura utilizzate per il percorso, la tappa, la distanza e la durata del passaggio non sono interessate da questo valore. Se non fornisci questo valore, le unità di visualizzazione vengono dedotte dalla posizione della prima origine.

optimizeWaypointOrder

boolean

Facoltativo. Se impostato su true, il servizio tenta di ridurre al minimo il costo complessivo del percorso riordinando i waypoint intermedi specificati. La richiesta non va a buon fine se uno dei waypoint intermedi è un waypoint via. Usa ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index per trovare la nuova organizzazione. Se ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index non viene richiesto nell'intestazione X-Goog-FieldMask, la richiesta non va a buon fine. Se optimizeWaypointOrder è impostato su false, ComputeRoutesResponse.optimized_intermediate_waypoint_index sarà vuoto.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Facoltativo. Specifica i percorsi di riferimento da calcolare nell'ambito della richiesta, oltre al percorso predefinito. Una route di riferimento è una route con un obiettivo di calcolo della route diverso da quello della route predefinita. Ad esempio, un calcolo del percorso di riferimento FUEL_EFFICIENT tiene conto di vari parametri che generano un percorso ottimale in termini di consumo di carburante. Quando utilizzi questa funzionalità, cerca routeLabels nei percorsi risultanti.

extraComputations[]

enum (ExtraComputation)

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 di campo da restituire nella risposta.

trafficModel

enum (TrafficModel)

Facoltativo. Specifica le ipotesi da utilizzare per il calcolo del tempo nel traffico. Questa impostazione influisce sul valore restituito nel campo della durata in Route e RouteLeg, che contiene il tempo previsto nel traffico in base alle medie storiche. TrafficModel è disponibile solo per le richieste in cui RoutingPreference è impostato su TRAFFIC_AWARE_OPTIMAL e RouteTravelMode su DRIVE. Se non viene specificato TrafficModel, il valore predefinito è BEST_GUESS se viene richiesto il traffico.

transitPreferences

object (TransitPreferences)

Facoltativo. Specifica le preferenze che influiscono sul percorso restituito per i percorsi TRANSIT. NOTA: puoi specificare un transitPreferences solo quando RouteTravelMode è impostato su TRANSIT.

Corpo della risposta

v2.computeRoutes il messaggio di risposta.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Campi
routes[]

object (Route)

Contiene un array di percorsi calcolati (fino a tre) se specifichi compute_alternatives_routes e contiene un solo percorso se non lo specifichi. Quando questo array contiene più voci, la prima è il percorso più consigliato. Se l'array è vuoto, significa che non è stato possibile trovare alcun percorso.

fallbackInfo

object (FallbackInfo)

In alcuni casi, quando il server non è in grado di calcolare i risultati del percorso con tutte le preferenze di input, potrebbe ricorrere a un metodo di calcolo diverso. Quando viene utilizzata la modalità di riserva, questo campo contiene informazioni dettagliate sulla risposta di riserva. In caso contrario, questo campo non è impostato.

geocodingResults

object (GeocodingResults)

Contiene informazioni sulla risposta di geocodifica per i waypoint specificati come indirizzi.

PolylineQuality

Un insieme di valori che specificano la qualità del polilinea.

Enum
POLYLINE_QUALITY_UNSPECIFIED Nessuna preferenza per la qualità dei polilinee specificata. Il valore predefinito è OVERVIEW.
HIGH_QUALITY Specifica un polilinea di alta qualità, composto utilizzando più punti rispetto a OVERVIEW, a fronte di un aumento delle dimensioni della risposta. Utilizza questo valore quando hai bisogno di una maggiore precisione.
OVERVIEW Specifica una polilinea di panoramica, composta utilizzando un numero ridotto di punti. Utilizza questo valore per visualizzare una panoramica del percorso. L'utilizzo di questa opzione comporta una latenza delle richieste inferiore rispetto all'utilizzo dell'opzione HIGH_QUALITY.

PolylineEncoding

Specifica il tipo preferito di polilinea da restituire.

Enum
POLYLINE_ENCODING_UNSPECIFIED Nessuna preferenza per il tipo di polilinea specificata. Il valore predefinito è ENCODED_POLYLINE.
ENCODED_POLYLINE Specifica una polilinea codificata utilizzando l'algoritmo di codifica delle polilinee.
GEO_JSON_LINESTRING Specifica un polilinea utilizzando il formato LineString GeoJSON

ReferenceRoute

Un percorso di riferimento supportato in 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.
SHORTER_DISTANCE

Percorso con distanza di viaggio più breve. Questa è una funzione sperimentale.

Per le richieste DRIVE, questa funzionalità dà la priorità alla distanza più breve rispetto al comfort di guida. Ad esempio, potrebbe preferire strade locali anziché autostrade, strade sterrate, attraversare parcheggi e così via. Questa funzionalità non restituisce manovre che Google Maps sa essere illegali.

Per le richieste BICYCLE e TWO_WHEELER, questa funzionalità restituisce percorsi simili a quelli restituiti quando non specifichi requestedReferenceRoutes.

Questa funzionalità non è compatibile con altre modalità di viaggio, con waypoint intermedi o con optimizeWaypointOrder. Queste richieste non andranno a buon fine. Tuttavia, puoi utilizzarlo con qualsiasi routingPreference.

ExtraComputation

Calcoli aggiuntivi da eseguire durante il completamento della richiesta.

Enum
EXTRA_COMPUTATION_UNSPECIFIED Non utilizzato. Le richieste contenenti questo valore non andranno a buon fine.
TOLLS Informazioni sui pedaggi per i percorsi.
FUEL_CONSUMPTION Consumo di carburante stimato per i percorsi.
TRAFFIC_ON_POLYLINE Polilinee sensibili al traffico per i percorsi.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions presentato come stringa di testo HTML formattata. Questi contenuti sono pensati per essere letti così come sono e sono solo per la visualizzazione. Non analizzarlo tramite programmazione.
FLYOVER_INFO_ON_POLYLINE Informazioni sui voli panoramici per i percorsi. Per restituire queste informazioni, devi specificare la maschera di campo routes.polyline_details.flyover_info. Al momento questi dati verranno compilati solo per alcune città in India. Questa funzionalità è sperimentale e lo SKU/addebito è soggetto a modifiche.
NARROW_ROAD_INFO_ON_POLYLINE Informazioni su strade strette per i percorsi. Per restituire queste informazioni, devi specificare la maschera di campo routes.polyline_details.narrow_road_info. Al momento questi dati verranno compilati solo per alcune città in India. Questa funzionalità è sperimentale e lo SKU/addebito è soggetto a modifiche.

Percorso

Contiene un percorso costituito da una serie di tratti stradali collegati che uniscono i waypoint di inizio, di fine e intermedi.

Rappresentazione JSON
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
Campi
routeLabels[]

enum (RouteLabel)

Etichette per Route utili per identificare proprietà specifiche del percorso da confrontare con altre.

legs[]

object (RouteLeg)

Un insieme di tratti (segmenti del percorso tra i waypoint) che compongono il percorso. Ogni tratta corrisponde al viaggio tra due via Waypoints non uguali. Ad esempio, un itinerario senza waypoint intermedi ha un solo tratto. Un itinerario che include un punto di passaggio intermedio diverso da via ha due tratti. Un itinerario che include un punto di passaggio intermedio via ha un tratto. L'ordine delle tappe corrisponde a quello dei waypoint da origin a intermediates a destination.

distanceMeters

integer

La distanza percorsa dal percorso, in metri.

duration

string (Duration format)

Il tempo necessario per percorrere il percorso. Se imposti routingPreference su TRAFFIC_UNAWARE, questo valore corrisponde a staticDuration. Se imposti routingPreference su TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, questo valore viene calcolato tenendo conto delle condizioni del traffico.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

staticDuration

string (Duration format)

La durata del viaggio lungo il percorso senza tenere conto delle condizioni del traffico.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

polyline

object (Polyline)

La polilinea del percorso complessivo. Questo polilinea è il polilinea combinato di tutti i legs.

description

string

Una descrizione del percorso.

warnings[]

string

Un array di avvisi da mostrare durante la visualizzazione del percorso.

viewport

object (Viewport)

Il riquadro di delimitazione dell'area visibile della polilinea.

travelAdvisory

object (RouteTravelAdvisory)

Informazioni aggiuntive sul percorso.

optimizedIntermediateWaypointIndex[]

integer

Se imposti optimizeWaypointOrder su true, questo campo contiene l'ordinamento ottimizzato dei waypoint intermedi. In caso contrario, questo campo è vuoto. Ad esempio, se inserisci come origine Los Angeles, come waypoint intermedi Dallas, Bangor e Phoenix e come destinazione New York e l'ordine ottimizzato dei waypoint intermedi è Phoenix, Dallas, Bangor, questo campo contiene i valori [2, 0, 1]. L'indice inizia con 0 per il primo waypoint intermedio fornito nell'input.

localizedValues

object (RouteLocalizedValues)

Rappresentazioni di testo delle proprietà di Route.

routeToken

string

Un token opaco che può essere passato all'SDK Navigation per ricostruire il percorso durante la navigazione e, in caso di deviazione, rispettare l'intenzione originale al momento della creazione del percorso. Tratta questo token come un blob opaco. Non confrontare il valore tra le richieste, in quanto potrebbe cambiare anche se il servizio restituisce lo stesso percorso esatto.

NOTA: Route.route_token è disponibile solo per le richieste in cui ComputeRoutesRequest.routing_preference è impostato su TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL. Route.route_token non è supportato per le richieste con waypoint Via.

polylineDetails

object (PolylineDetails)

Contiene informazioni sui dettagli lungo il polilinea.

RouteLabel

Etichette per Route utili per identificare proprietà specifiche del percorso da confrontare con altre.

Enum
ROUTE_LABEL_UNSPECIFIED Valore predefinito: non utilizzato.
DEFAULT_ROUTE Il percorso "migliore" predefinito restituito per il calcolo del percorso.
DEFAULT_ROUTE_ALTERNATE Un'alternativa al percorso "migliore" predefinito. Percorsi come questo verranno restituiti quando viene specificato computeAlternativeRoutes.
FUEL_EFFICIENT Percorso a basso consumo di carburante. I percorsi etichettati con questo valore sono considerati ottimizzati per i parametri Eco, come il consumo di carburante.
SHORTER_DISTANCE Percorso con distanza di viaggio più breve. Questa è una funzione sperimentale.

RouteLeg

Contiene un segmento tra waypoint non via.

Rappresentazione JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
Campi
distanceMeters

integer

La distanza percorsa della tratta del percorso, in metri.

duration

string (Duration format)

La durata del tratto. Se route_preference è impostato su TRAFFIC_UNAWARE, questo valore corrisponde a staticDuration. Se route_preference è TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, questo valore viene calcolato tenendo conto delle condizioni del traffico.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

staticDuration

string (Duration format)

La durata del viaggio nel tratto, calcolata senza tenere conto delle condizioni del traffico.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

polyline

object (Polyline)

La polilinea complessiva di questo tratto che include la polilinea di ogni step.

startLocation

object (Location)

La posizione di partenza di questo tratto. Questa località potrebbe essere diversa da quella fornita in origin. Ad esempio, se il origin fornito non si trova vicino a una strada, si tratta di un punto sulla strada.

endLocation

object (Location)

La località di destinazione di questo tratto. Questa località potrebbe essere diversa da quella fornita in destination. Ad esempio, se il destination fornito non si trova vicino a una strada, si tratta di un punto sulla strada.

steps[]

object (RouteLegStep)

Un array di passaggi che indicano i segmenti all'interno di questo tratto. Ogni passaggio rappresenta un'istruzione di navigazione.

travelAdvisory

object (RouteLegTravelAdvisory)

Contiene le informazioni aggiuntive che l'utente deve conoscere, ad esempio possibili limitazioni nelle zone di traffico, in un tratto del percorso.

localizedValues

object (RouteLegLocalizedValues)

Rappresentazioni di testo delle proprietà di RouteLeg.

stepsOverview

object (StepsOverview)

Informazioni di panoramica sui passaggi in questo RouteLeg. Questo campo viene compilato solo per i percorsi TRANSIT.

Polilinea

Incapsula una polilinea codificata.

Rappresentazione JSON
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
Campi
Campo unione polyline_type. Racchiude il tipo di polilinea. Il valore predefinito è encoded_polyline. polyline_type può essere solo uno dei seguenti:
encodedPolyline

string

La codifica della stringa del polilinea utilizzando l'algoritmo di codifica del polilinea

geoJsonLinestring

object (Struct format)

Specifica un polilinea utilizzando il formato LineString GeoJSON.

RouteLegStep

Contiene un segmento di un RouteLeg. Un passaggio corrisponde a una singola istruzione di navigazione. I tratti del percorso sono costituiti da passaggi.

Rappresentazione JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
Campi
distanceMeters

integer

La distanza percorsa in questo passaggio, in metri. In alcuni casi, questo campo potrebbe non avere un valore.

staticDuration

string (Duration format)

La durata del viaggio in questo passaggio senza tenere conto delle 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 "s". Esempio: "3.5s".

polyline

object (Polyline)

Il polilinea associato a questo passaggio.

startLocation

object (Location)

La posizione di partenza di questo passaggio.

endLocation

object (Location)

La posizione di destinazione di questo passaggio.

navigationInstruction

object (NavigationInstruction)

Istruzioni di navigazione.

travelAdvisory

object (RouteLegStepTravelAdvisory)

Contiene le informazioni aggiuntive che l'utente deve conoscere, ad esempio eventuali limitazioni nelle zone di traffico, in un passaggio della tappa.

localizedValues

object (RouteLegStepLocalizedValues)

Rappresentazioni di testo delle proprietà di RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Dettagli relativi a questo passaggio se la modalità di viaggio è TRANSIT.

travelMode

enum (RouteTravelMode)

La modalità di viaggio utilizzata per questo passaggio.

Manovra

Un insieme di valori che specificano l'azione di navigazione da eseguire per il passaggio corrente (ad esempio, svolta a sinistra, svolta a destra o dritto).

Enum
MANEUVER_UNSPECIFIED Non utilizzato.
TURN_SLIGHT_LEFT Gira leggermente a sinistra.
TURN_SHARP_LEFT Svolta bruscamente a sinistra.
UTURN_LEFT Fai un U-turn a sinistra.
TURN_LEFT Svolta a sinistra.
TURN_SLIGHT_RIGHT Gira leggermente a destra.
TURN_SHARP_RIGHT Gira bruscamente a destra.
UTURN_RIGHT Fai un U-turn a destra.
TURN_RIGHT Gira a destra.
STRAIGHT Vai dritto.
RAMP_LEFT Prendi la rampa a sinistra.
RAMP_RIGHT Prendi la rampa a destra.
MERGE Unisciti al traffico.
FORK_LEFT Prendi la strada a sinistra.
FORK_RIGHT Prendi la strada a destra.
FERRY Prendi il traghetto.
FERRY_TRAIN Prendi il treno che porta al traghetto.
ROUNDABOUT_LEFT Gira a sinistra al semaforo circolare.
ROUNDABOUT_RIGHT Gira a destra alla rotonda.
DEPART Manovra iniziale.
NAME_CHANGE Utilizzato per indicare una modifica del nome della strada.

RouteLegStepTravelAdvisory

Contiene le informazioni aggiuntive che l'utente deve conoscere, ad esempio le possibili limitazioni relative alle zone di traffico in un passaggio del tratto.

Rappresentazione JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campi
speedReadingIntervals[]

object (SpeedReadingInterval)

NOTA: questo campo non è attualmente compilato.

RouteLegStepLocalizedValues

Rappresentazioni di testo di determinate proprietà.

Rappresentazione JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Campi
distance

object (LocalizedText)

Distanza da percorrere rappresentata in formato di testo.

staticDuration

object (LocalizedText)

Durata senza tenere conto delle condizioni del traffico, rappresentata in formato di testo.

RouteLegStepTransitDetails

Informazioni aggiuntive per RouteLegStep relative alle route TRANSIT.

Rappresentazione JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Campi
stopDetails

object (TransitStopDetails)

Informazioni sulle fermate di arrivo e partenza per il passaggio.

localizedValues

object (TransitDetailsLocalizedValues)

Rappresentazioni di testo delle proprietà di RouteLegStepTransitDetails.

headsign

string

Specifica la direzione in cui viaggiare su questa linea, come indicato sul veicolo o alla fermata di partenza. La direzione è spesso la stazione di destinazione.

headway

string (Duration format)

Specifica l'ora prevista come durata tra le partenze dalla stessa fermata in questo momento. Ad esempio, con un valore di tempo di attesa in secondi pari a 600, dovresti aspettarti un'attesa di dieci minuti se perdi l'autobus.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

transitLine

object (TransitLine)

Informazioni sulla linea di trasporto pubblico utilizzata in questo passaggio.

stopCount

integer

Il numero di fermate dalla fermata di partenza a quella di arrivo. Questo conteggio include la fermata di arrivo, ma esclude la fermata di partenza. Ad esempio, se il tuo percorso parte dalla fermata A, passa per le fermate B e C e arriva alla fermata D,

stopCount

restituisce 3.

tripShortText

string

Il testo visualizzato negli orari e nelle insegne per identificare una corsa per i passeggeri. Il testo deve identificare in modo univoco una corsa all'interno di un giorno di servizio. Ad esempio, "538" è il tripShortText del treno Amtrak che parte da San Jose, in California, alle 15:10 nei giorni feriali per Sacramento, in California.

TransitStopDetails

Dettagli sulle fermate dei trasporti pubblici per la linea RouteLegStep.

Rappresentazione JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Campi
arrivalStop

object (TransitStop)

Informazioni sulla fermata di arrivo per il passaggio.

arrivalTime

string (Timestamp format)

L'orario di arrivo stimato per il passaggio.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

departureStop

object (TransitStop)

Informazioni sulla fermata di partenza per il passaggio.

departureTime

string (Timestamp format)

L'orario di partenza stimato per il passaggio.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

TransitStop

Informazioni su una fermata del trasporto pubblico.

Rappresentazione JSON
{
  "name": string,
  "location": {
    object (Location)
  }
}
Campi
name

string

Il nome della fermata di trasporto pubblico.

location

object (Location)

La posizione della fermata espressa in coordinate di latitudine/longitudine.

TransitDetailsLocalizedValues

Descrizioni localizzate dei valori per RouteTransitDetails.

Rappresentazione JSON
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Campi
arrivalTime

object (LocalizedTime)

L'ora nella sua rappresentazione di testo formattato con un fuso orario corrispondente.

departureTime

object (LocalizedTime)

L'ora nella sua rappresentazione di testo formattato con un fuso orario corrispondente.

LocalizedTime

Descrizione localizzata dell'ora.

Rappresentazione JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Campi
time

object (LocalizedText)

L'ora specificata come stringa in un determinato fuso orario.

timeZone

string

Contiene il fuso orario. Il valore è il nome del fuso orario come definito nel database dei fusi orari IANA, ad esempio "America/New_York".

TransitLine

Contiene informazioni sulla linea di trasporto pubblico utilizzata in questo passaggio.

Rappresentazione JSON
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Campi
agencies[]

object (TransitAgency)

L'azienda (o le aziende) di trasporto pubblico che gestisce questa linea.

name

string

Il nome completo della linea di trasporto pubblico, ad esempio "8 Avenue Local".

uri

string

L'URI per questa linea di trasporto pubblico fornito dall'azienda di trasporto pubblico.

color

string

Il colore comunemente utilizzato nella segnaletica per questa linea. Rappresentato in esadecimale.

iconUri

string

L'URI dell'icona associata a questa riga.

nameShort

string

Il nome breve di questa linea di trasporto pubblico. In genere, questo nome è un numero di riga, ad esempio "M7" o "355".

textColor

string

Il colore comunemente utilizzato nel testo della segnaletica per questa linea. Rappresentato in esadecimale.

vehicle

object (TransitVehicle)

Il tipo di veicolo che opera su questa linea di trasporto pubblico.

TransitAgency

Un'azienda di trasporto pubblico che gestisce una linea di trasporto pubblico.

Rappresentazione JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Campi
name

string

Il nome dell'azienda di trasporto pubblico.

phoneNumber

string

Il numero di telefono della società di trasporto pubblico formattato in base alla località.

uri

string

L'URI dell'azienda di trasporto pubblico.

TransitVehicle

Informazioni su un veicolo utilizzato nelle linee di trasporto pubblico.

Rappresentazione JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Campi
name

object (LocalizedText)

Il nome del veicolo, scritto in maiuscolo.

type

enum (TransitVehicleType)

Il tipo di veicolo utilizzato.

iconUri

string

L'URI di un'icona associata a questo tipo di veicolo.

localIconUri

string

L'URI dell'icona associata a questo tipo di veicolo, in base alla segnaletica dei trasporti locali.

TransitVehicleType

Il tipo di veicoli per i percorsi di trasporto pubblico.

Enum
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Non utilizzato.
BUS Autobus.
CABLE_CAR Un veicolo che funziona su un cavo, solitamente a terra. Le funivie aeree possono essere di tipo GONDOLA_LIFT.
COMMUTER_TRAIN Treno suburbano.
FERRY Traghetto.
FUNICULAR Un veicolo che viene tirato su una ripida salita da un cavo. Una funicolare è in genere composta da due vetture, ciascuna delle quali funge da contrappeso per l'altra.
GONDOLA_LIFT Una funivia.
HEAVY_RAIL Treni pesanti.
HIGH_SPEED_TRAIN Treno ad alta velocità.
INTERCITY_BUS Autobus interurbano.
LONG_DISTANCE_TRAIN Treno a lunga percorrenza.
METRO_RAIL Metropolitana leggera.
MONORAIL Monorotaia.
OTHER Tutti gli altri veicoli.
RAIL Ferrovia.
SHARE_TAXI Il taxi condiviso è un tipo di autobus che può far scendere e salire i passeggeri ovunque lungo il percorso.
SUBWAY Metropolitana leggera sotterranea.
TRAM Metropolitana leggera sopraelevata.
TROLLEYBUS Filobus.

RouteLegTravelAdvisory

Contiene le informazioni aggiuntive che l'utente deve conoscere in un passaggio della tratta, ad esempio possibili limitazioni nelle zone a traffico limitato.

Rappresentazione JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campi
tollInfo

object (TollInfo)

Contiene informazioni sui pedaggi per la RouteLeg specifica. Questo campo viene compilato solo se prevediamo che ci siano pedaggi sulla RouteLeg. Se questo campo è impostato, ma il sottocampo estimatedPrice non è compilato, ci aspettiamo che la strada contenga pedaggi, ma non conosciamo un prezzo stimato. Se questo campo non esiste, significa che non è previsto alcun pedaggio per RouteLeg.

speedReadingIntervals[]

object (SpeedReadingInterval)

Intervalli di lettura rapida che descrivono la densità del traffico. Applicabile in caso di preferenze di routing TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL. Gli intervalli coprono l'intero polilinea del RouteLeg senza sovrapposizioni. Il punto di inizio di un intervallo specificato corrisponde al punto di fine dell'intervallo precedente.

Esempio:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

Rappresentazioni di testo di determinate proprietà.

Rappresentazione JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Campi
distance

object (LocalizedText)

Distanza da percorrere rappresentata in formato di testo.

duration

object (LocalizedText)

Durata, rappresentata in formato di testo e localizzata nella regione della query. Tiene conto delle condizioni del traffico. Nota: se non hai richiesto informazioni sul traffico, questo valore corrisponde a quello di staticDuration.

staticDuration

object (LocalizedText)

Durata senza tenere conto delle condizioni del traffico, rappresentata in formato di testo.

StepsOverview

Fornisce informazioni di panoramica su un elenco di RouteLegStep.

Rappresentazione JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Campi
multiModalSegments[]

object (MultiModalSegment)

Informazioni riepilogative sui diversi segmenti multimodali del RouteLeg.steps. Questo campo non viene compilato se RouteLeg non contiene segmenti multimodali nei passaggi.

MultiModalSegment

Fornisce informazioni riepilogative su diversi segmenti multimodali del RouteLeg.steps. Un segmento multimodale è definito come uno o più RouteLegStep contigui che hanno lo stesso RouteTravelMode. Questo campo non viene compilato se RouteLeg non contiene segmenti multimodali nei passaggi.

Rappresentazione JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Campi
navigationInstruction

object (NavigationInstruction)

NavigationInstruction per il segmento multimodale.

travelMode

enum (RouteTravelMode)

La modalità di viaggio del segmento multimodale.

stepStartIndex

integer

L'indice RouteLegStep corrispondente che indica l'inizio di un segmento multimodale.

stepEndIndex

integer

L'indice RouteLegStep corrispondente che rappresenta la fine di un segmento multimodale.

Area visibile

Un'area visibile di latitudine e longitudine, rappresentata da due punti low e high diagonalmente opposti. Un viewport è considerato una regione chiusa, ovvero include il suo confine. I limiti di latitudine devono essere compresi tra -90 e 90 gradi inclusi e i limiti di longitudine tra -180 e 180 gradi inclusi. Vari casi includono:

  • Se low = high, l'area visibile è costituita da quel singolo punto.

  • Se low.longitude > high.longitude, l'intervallo di longitudine è invertito (l'area visibile attraversa la linea di longitudine di 180 gradi).

  • Se low.longitude = -180 gradi e high.longitude = 180 gradi, l'area visibile include tutte le longitudini.

  • Se low.longitude = 180 gradi e high.longitude = -180 gradi, l'intervallo di longitudine è vuoto.

  • Se low.latitude > high.latitude, l'intervallo di latitudine è vuoto.

Sia low che high devono essere compilati e la casella rappresentata non può essere vuota (come specificato dalle definizioni precedenti). Un viewport vuoto comporterà un errore.

Ad esempio, questo viewport racchiude completamente New York:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

Rappresentazione JSON
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Campi
low

object (LatLng)

Obbligatorio. Il punto più basso dell'area visibile.

high

object (LatLng)

Obbligatorio. Il punto più alto dell'area visibile.

RouteLocalizedValues

Rappresentazioni di testo di determinate proprietà.

Rappresentazione JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Campi
distance

object (LocalizedText)

Distanza da percorrere rappresentata in formato di testo.

duration

object (LocalizedText)

Durata, rappresentata in formato di testo e localizzata nella regione della query. Tiene conto delle condizioni del traffico. Nota: se non hai richiesto informazioni sul traffico, questo valore corrisponde a staticDuration.

staticDuration

object (LocalizedText)

Durata senza tenere conto delle condizioni del traffico, rappresentata in formato di testo.

transitFare

object (LocalizedText)

Tariffa del trasporto pubblico rappresentata in formato di testo.

PolylineDetails

Dettagli corrispondenti a un determinato indice o segmento contiguo di una polilinea. Dato un polilinea con punti P_0, P_1, ... , P_N (indice a partire da zero), PolylineDetails definisce un intervallo e i metadati associati.

Rappresentazione JSON
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Campi
flyoverInfo[]

object (FlyoverInfo)

Dettagli del sorvolo lungo il polilinea.

narrowRoadInfo[]

object (NarrowRoadInfo)

Dettagli delle strade strette lungo il polilinea.

FlyoverInfo

Incapsula le informazioni sui cavalcavia lungo il polilinea.

Rappresentazione JSON
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Campi
flyoverPresence

enum (RoadFeatureState)

Solo output. Indica se esiste un sorvolo per un determinato tratto del polilinea.

polylinePointIndex

object (PolylinePointIndex)

La posizione delle informazioni relative al passaggio in rassegna lungo la polilinea.

RoadFeatureState

Incapsula gli stati degli elementi stradali lungo un tratto di polilinea.

Enum
ROAD_FEATURE_STATE_UNSPECIFIED Lo stato dell'elemento stradale non è stato calcolato (valore predefinito).
EXISTS L'elemento strada esiste.
DOES_NOT_EXIST L'elemento strada non esiste.

PolylinePointIndex

Incapsula gli indici di inizio e di fine per un dettaglio polilinea. Nei casi in cui i dati corrispondano a un singolo punto, startIndex e endIndex saranno uguali.

Rappresentazione JSON
{
  "startIndex": integer,
  "endIndex": integer
}
Campi
startIndex

integer

L'indice iniziale di questo dettaglio nel polilinea.

endIndex

integer

L'indice di fine di questo dettaglio nel polilinea.

NarrowRoadInfo

Incapsula le informazioni sulle strade strette lungo il polilinea.

Rappresentazione JSON
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Campi
narrowRoadPresence

enum (RoadFeatureState)

Solo output. Indica se esiste una strada stretta per un determinato tratto del polilinea.

polylinePointIndex

object (PolylinePointIndex)

La posizione delle informazioni relative alle strade strette lungo la polilinea.

GeocodingResults

Contiene GeocodedWaypoints per i waypoint di origine, destinazione e intermedi. Viene compilato solo per i waypoint di indirizzo.

Rappresentazione JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Campi
origin

object (GeocodedWaypoint)

Punto di passaggio con geocodice di origine.

destination

object (GeocodedWaypoint)

Punto di passaggio con geocodifica della destinazione.

intermediates[]

object (GeocodedWaypoint)

Un elenco di waypoint intermedi geocodificati contenenti ciascuno un campo di indice che corrisponde alla posizione in base zero del waypoint nell'ordine in cui sono stati specificati nella richiesta.

GeocodedWaypoint

Dettagli sulle posizioni utilizzate come waypoint. Viene compilato solo per i waypoint di indirizzo. Include i dettagli sui risultati del geocodificazione ai fini della determinazione del luogo a cui è stato geocodificato l'indirizzo.

Rappresentazione JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Campi
geocoderStatus

object (Status)

Indica il codice di stato risultante dall'operazione di geocodifica.

type[]

string

I tipi di risultati, sotto forma di zero o più tag tipo. Tipi supportati: tipi di indirizzi e tipi di componenti dell'indirizzo.

partialMatch

boolean

Indica che il geocodificatore non ha restituito una corrispondenza esatta per la richiesta originale, anche se è stato in grado di trovare una corrispondenza per parte dell'indirizzo richiesto. Ti consigliamo di esaminare la richiesta originale per verificare la presenza di errori ortografici e/o di un indirizzo incompleto.

placeId

string

L'ID luogo per questo risultato.

intermediateWaypointRequestIndex

integer

L'indice della waypoint intermedia corrispondente nella richiesta. Viene compilato solo se il waypoint corrispondente è una fermata intermedia.