Escolha os campos a serem retornados

Ao chamar o método ComputeRoutes(), é necessário especificar quais campos você quer que sejam retornados na resposta. Para fazer isso, use uma máscara de campo de resposta, que você fornece com o parâmetro de URL $fields ou fields, ou use o cabeçalho HTTP/gRPC X-Goog-FieldMask. Para mais informações, consulte Parâmetros do sistema.

Máscara de campo

O valor da máscara de campo é uma lista separada por vírgulas de caminhos de campo. Cada caminho de campo é uma lista de nomes de campos separados por ponto que representam a hierarquia da mensagem. Um nome de campo é a chave do objeto JSON ou o nome da tag de campo protobuf. O caminho do campo começa no tipo de mensagem de resposta de nível superior e é seguido opcionalmente por um ou mais pontos e, em seguida, pelo próximo nível do nome do campo. Em geral, os caminhos de campo são construídos da seguinte maneira:

topLevelField[.secondLevelField][.thirdLevelField][...]

Uma máscara de campo de caso especial é um curinga “*”, que seleciona todos os campos de nível raiz.

Exemplos

O exemplo a seguir demonstra como definir máscaras de campo para o método ComputeRoutes().

Exemplo 1

Máscara de campo de todos os campos disponíveis (para inspeção manual).

X-Goog-FieldMask: *

Exemplo 2

Máscara de campo de duração, distância e poligonal no nível da rota (exemplo de configuração de produção).

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

Não recomendamos o uso da máscara de campo de resposta com caractere curinga (*) ou a especificação da máscara de campo no nível superior (rotas) na produção. Selecione apenas os campos necessários:

  • Permite que nosso servidor salve ciclos de processamento, o que nos permite retornar seus resultados com uma latência menor.

  • Garante um desempenho de latência estável. Talvez adicionemos mais campos de resposta no futuro, e esses novos campos podem exigir mais tempo de computação. Se você selecionar todos os campos ou todos os campos no nível superior, poderá haver degradação de desempenho, porque qualquer campo novo que adicionarmos será incluído automaticamente na sua resposta.

  • O resultado é um tamanho de resposta menor, o que se traduz em maior taxa de transferência de rede.

Para mais informações sobre como criar caminhos de campo, consulte o field_mask.proto.