Scegli i campi da restituire

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Quando chiami un metodo per calcolare una route o una matrice di route, devi specificare i campi da restituire nella risposta. Non esiste un elenco predefinito di campi restituiti. Se ometti questo elenco, i metodi restituiscono un errore.

Specifica l'elenco dei campi creando una maschera del campo di risposta. Passi la maschera del campo di risposta a ciascun metodo utilizzando il parametro URL $fields o fields o utilizzando l'intestazione HTTP/gRPC X-Goog-FieldMask.

Il mascheramento dei campi è una buona pratica di progettazione per assicurarsi di non richiedere dati non necessari, evitando così tempi di elaborazione e addebiti non necessari.

Per ulteriori informazioni sui parametri URL, consulta Parametri di sistema.

Definisci una maschera del campo di risposta

La maschera del campo di risposta è un elenco di percorsi separati da virgole, in cui ogni percorso specifica un campo univoco nel messaggio di risposta. Il percorso parte dal messaggio di risposta di primo livello e utilizza un percorso separato da punti per il campo specificato.

I percorsi dei campi vengono creati nel seguente modo:

topLevelField[.secondLevelField][.thirdLevelField][...]
  • Per i metodi delle route di calcolo, i percorsi del campo specificano:

    • REST: i campi dell'oggetto Route nella risposta da restituire, preceduti da routes.. Ad esempio: routes.distanceMeters.
    • gRPC: i campi dell'oggetto Route nella risposta da restituire.
  • Per i metodi della matrice di route di calcolo, i percorsi dei campi specificano i campi di:

Per ulteriori informazioni su come creare percorsi campo, consulta field_mask.proto.

Specifica un percorso del campo

Questa sezione contiene un esempio di come specificare un percorso di campo come parte di una maschera di campo di risposta.

Chiamata REST a computeRoutes

Nel primo esempio, utilizzi una chiamata REST al metodo computeRoutes per calcolare una route. In questo esempio specifichi di restituire i campi Route.distanceMeters e Route.duration nella risposta. Ricorda di anteporre al campo il nome "routes."

X-Goog-FieldMask: routes.distanceMeters,routes.duration

Chiamata REST a computeRouteMatrix

Per il metodo REST computeRouteMatrix utilizzato per il calcolo di una matrice di route, specifica il metodo originIndex, destinationIndex e duration per ogni combinazione di origine e destinazione:

X-Goog-FieldMask: originIndex,destinationIndex,duration

Chiamata gRPC

Per gRPC, imposta una variabile contenente la maschera del campo di risposta. Successivamente, puoi trasmettere la variabile alla richiesta.

const (
  fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline"
)

Considerazioni sul percorso del campo

Includi solo i campi obbligatori nella risposta. Restituzione solo i campi necessari:

  • Consente al nostro server di salvare cicli di elaborazione, permettendoci di restituire i risultati con una latenza minore.

  • Garantisce 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 se selezioni tutti i campi al livello principale, potresti riscontrare un peggioramento del rendimento perché ogni nuovo campo che aggiungi verrà incluso automaticamente nella tua risposta.

  • Questo si traduce in una riduzione delle dimensioni della risposta, che si traduce in una velocità effettiva di rete più elevata.

  • Garantisce di non richiedere dati inutili per evitare tempi di elaborazione e addebiti non necessari.