Method: computeCustomRoutes

Dati un insieme di waypoint di destinazione e intermedi e uno scopo del percorso, calcola il percorso migliore per lo scopo del percorso. Restituisce anche il percorso più veloce e il percorso più breve come percorsi di riferimento.

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

Ad esempio, in questo metodo:

  • Maschera di tutti i campi disponibili (per l'ispezione manuale): X-Goog-FieldMask: *
  • Maschera del campo di distanze, durate, token e informazioni sui pedaggi del percorso: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

Google sconsiglia l'utilizzo della maschera del campo di risposta con caratteri jolly (*) o la specifica della maschera del campo a livello superiore (routes) perché:

  • La selezione dei soli campi di cui hai bisogno consente al nostro server di salvare i cicli di calcolo, consentendoci 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.
  • Se selezioni solo i campi necessari, la risposta avrà una dimensione inferiore e quindi una velocità effettiva di rete più elevata.

Richiesta HTTP

POST https://routespreferred.googleapis.com/v1:computeCustomRoutes

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,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
Campi
origin

object (Waypoint)

Obbligatorio. Tappa di partenza.

destination

object (Waypoint)

Obbligatorio. Tappa 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. Sono supportati solo i criteri DRIVE e "TWO_WHEELER".

routingPreference

enum (RoutingPreference)

(Facoltativo) Specifica come calcolare la route. 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 tua preferenza per la qualità della 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 già avvenuta, 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".

routeModifiers

object (RouteModifiers)

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

routeObjective

object (RouteObjective)

Obbligatorio. Un obiettivo del percorso in base al quale eseguire l'ottimizzazione.

languageCode

string

(Facoltativo) Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per saperne di più, consulta la sezione Identificatore di impostazioni internazionali 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 posizione della richiesta di percorso.

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 del passo e la durata non sono interessate da questo valore. Se non fornisci questo valore, le unità di visualizzazione vengono dedotte dalla località della richiesta.

Corpo della risposta

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

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.