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 dei soli campi necessari nel job di produzione garantisce prestazioni di latenza stabili. 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 una dimensione della risposta inferiore e, di conseguenza, un throughput di rete più elevato.

Richiesta HTTP

POST https://routespreferred.googleapis.com/v1: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,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
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 waypoint lungo il percorso (esclusi i punti di terminazione), da fermare o da passare. Sono supportate fino a 25 tappe intermedie.

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 la 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. Se imposti questo valore su un'ora che è già trascorsa, la richiesta non va a buon fine.

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 sulla modalità di calcolo delle route.

languageCode

string

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

units

enum (Units)

(Facoltativo) Specifica le unità di misura per i campi di visualizzazione. È incluso 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 richiesta.

optimizeWaypointOrder

boolean

Se optimizeWaypointOrder è impostato su true, viene tentato di riordinare i waypoint intermedi specificati per ridurre al minimo il costo complessivo del percorso. Se uno dei waypoint intermedi è un waypoint intermedio, la richiesta non va a buon fine. Usa ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index per trovare la nuova organizzazione. Se routes.optimized_intermediate_waypoint_index non viene richiesto nell'intestazione X-Goog-FieldMask, la richiesta non va a buon fine. Se il criterio optimizeWaypointOrder viene impostato su false, il campo ComputeRoutesResponse.optimized_intermediate_waypoint_index è vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di ComputeRoutesResponse.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Per ulteriori informazioni, consulta la Panoramica di OAuth 2.0.