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 di calcolo dei percorsi, i percorsi di campo specificano:
Per i metodi della matrice di route di calcolo, i percorsi dei campi specificano i campi di:
- REST: i campi del corpo della risposta da restituire.
- gRPC: i campi dell'oggetto RouteMatrixElement nella risposta da restituire.
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.