选择要返回的字段

调用 ComputeRoutes() 方法时,您必须指定要在响应中返回哪些字段。为此,您可以使用包含网址参数 $fieldsfields 的响应字段掩码,也可以使用 HTTP/gRPC 标头 X-Goog-FieldMask。如需了解详情,请参阅系统参数

字段掩码

字段掩码值为以逗号分隔的字段路径列表。每个字段路径都是一个以英文句点分隔的字段名称列表,其中表示消息层次结构。字段名称可以是 JSON 对象键,也可以是 protobuf 字段标记名称。字段路径从顶级响应消息类型开始,可根据需要后跟一个或多个点,然后是下一级别的字段名称。一般来说,字段路径的构建方式如下:

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

特殊情况字段掩码是通配符“*”,用于选择所有根级字段。

示例

以下示例演示了如何为 ComputeRoutes() 方法设置字段掩码。

示例 1

所有可用字段的字段掩码(用于手动检查)。

X-Goog-FieldMask: *

示例 2

路线级时长、距离和多段线的字段掩码(生产设置示例)。

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

我们不建议使用通配符 (*) 响应字段掩码,也不建议在生产环境中使用顶层(路由)指定字段掩码。仅选择您需要的字段:

  • 使我们的服务器节省处理周期,从而以较低的延迟返回结果。

  • 确保稳定的延迟性能。我们未来可能会添加更多响应字段,这些新字段可能需要额外的计算时间。如果您选择所有字段,或者选择顶层的所有字段,则性能可能会降低,因为我们添加的任何新字段都会自动包含在您的响应中。

  • 从而产生较小的响应大小,从而提高网络吞吐量。

如需详细了解如何构建字段路径,请参阅 field_mask.proto