Method: computeRoutes

Restituisce il percorso principale insieme a percorsi alternativi facoltativi, in base a una serie di tappe terminal e intermedi.

NOTA: questo metodo richiede l'indicazione di una maschera per il campo della 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 le intestazioni e i parametri URL disponibili. Il valore è un elenco di percorsi dei campi separati da virgole. Consulta la documentazione dettagliata su come creare i percorsi dei campi.

Ad esempio, in questo metodo:

  • Maschera per tutti i campi disponibili (per l'ispezione manuale): X-Goog-FieldMask: *
  • Maschera per il campo di durata, distanza e polilinea a livello di route (una configurazione di produzione di esempio): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google sconsiglia l'utilizzo della maschera per il campo di risposta con caratteri jolly (*) oppure specifica la maschera del campo al livello superiore (routes), perché:

  • La selezione dei soli campi necessari consente al nostro server di salvare i cicli di calcolo, consentendoci 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 e questi nuovi campi potrebbero richiedere tempi di calcolo aggiuntivi. Se selezioni tutti i campi o tutti i campi al livello più alto, potresti riscontrare un peggioramento delle prestazioni perché qualsiasi nuovo campo che aggiungiamo verrà incluso automaticamente nella risposta.
  • La selezione solo dei campi necessari comporta una riduzione delle dimensioni della risposta e, di conseguenza, una velocità effettiva di rete superiore.

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. Waypoint di partenza.

destination

object (Waypoint)

Obbligatorio. Waypoint di destinazione.

intermediates[]

object (Waypoint)

Campo facoltativo. Una serie di tappe lungo il percorso (esclusi i punti terminali), che consentono di fermarsi o di passare. Sono supportati fino a 25 tappe intermedi.

travelMode

enum (RouteTravelMode)

Campo facoltativo. Specifica la modalità di trasporto.

routingPreference

enum (RoutingPreference)

Campo facoltativo. Specifica come calcolare la route. 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 molto lunga, viene restituito un errore. In futuro, potremmo implementare un meccanismo di riserva per utilizzare un'opzione diversa quando l'opzione preferita non dà un risultato valido. Puoi specificare questa opzione solo quando travelMode è DRIVE o TWO_WHEELER, altrimenti la richiesta non va a buon fine.

polylineQuality

enum (PolylineQuality)

Campo facoltativo. Specifica la tua preferenza per la qualità della polilinea.

polylineEncoding

enum (PolylineEncoding)

Campo facoltativo. Specifica la codifica preferita per la polilinea.

departureTime

string (Timestamp format)

Campo facoltativo. L'orario di partenza. Se non imposti questo valore, il valore predefinito sarà l'ora in cui hai effettuato la richiesta. Se imposti questo valore su un orario già verificato, la richiesta non andrà a buon fine.

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

computeAlternativeRoutes

boolean

Specifica se calcolare percorsi alternativi in aggiunta al percorso.

routeModifiers

object (RouteModifiers)

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

languageCode

string

Campo facoltativo. Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, vedi http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Consulta la pagina Supporto delle lingue per consultare l'elenco delle lingue supportate. Se non specifichi questo valore, la lingua di visualizzazione viene dedotta dalla località della richiesta di route.

units

enum (Units)

Campo facoltativo. Specifica le unità di misura per i campi di visualizzazione. Questo include il campo instruction in NavigationInstruction. Le unità di misura utilizzate per percorso, tratta, distanza dei passi e durata non sono interessate da questo valore. Se non specifichi questo valore, le unità di visualizzazione vengono dedotte dalla località della richiesta.

optimizeWaypointOrder

boolean

Se OptimizeWaypointOrder è impostato su true, viene effettuato un tentativo di riordinamento dei punti intermedi intermedi specificati per ridurre al minimo il costo complessivo del percorso. Se uno qualsiasi dei punti intermedi intermedi si trova attraverso un tappa, la richiesta non va a buon fine. Utilizza ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index per trovare il nuovo ordine. Se route.optimized_intermediate_waypoint_index non è richiesta nell'intestazione X-Goog-FieldMask, la richiesta non va a buon fine. Se OptimizeWaypointOrder è impostato su false, 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.