选择要返回的字段

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

调用计算路线或计算路线矩阵的方法时,您必须指定要在响应中返回哪些字段。没有默认返回的字段列表。如果您省略此列表,这些方法会返回错误。

通过创建响应字段掩码来指定字段列表。然后,您可以使用网址参数 $fieldsfields 或使用 HTTP/gRPC 标头 X-Goog-FieldMask 将响应字段掩码传递给每个方法。

字段遮盖是一种很好的设计做法,可以确保您不会请求不必要的数据,这有助于避免不必要的处理时间和结算费用。

如需详细了解网址参数,请参阅系统参数

定义响应字段掩码

响应字段掩码是以英文逗号分隔的路径列表,其中每条路径在响应消息中指定一个唯一字段。此路径从顶级响应消息开始,并使用以点分隔的路径来指定字段。

字段路径的构建方式如下:

topLevelField[.secondLevelField][.thirdLevelField][...]
  • 对于计算路由方法,字段路径指定:

    • REST:要返回的响应中 Route 对象的字段,带有 routes. 前缀。例如 routes.distanceMeters
    • gRPC:要返回的响应中 Route 对象的字段。
  • 对于计算路由矩阵方法,字段路径指定以下各项的字段:

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

指定字段路径

本部分介绍了如何将字段路径指定为响应字段掩码的一部分。

computeRoutes 的 REST 调用

在第一个示例中,您使用对 computeRoutes 方法的 REST 调用来计算路线。在此示例中,您指定在响应中返回 Route.distanceMetersRoute.duration 字段。请务必为字段名称添加“routes.”前缀

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

computeRouteMatrix 的 REST 调用

对于用于计算路线矩阵的 REST computeRouteMatrix 方法,请指定为出发地和目的地的每个组合返回 originIndexdestinationIndexduration

X-Goog-FieldMask: originIndex,destinationIndex,duration

gRPC 调用

对于 gRPC,请设置包含响应字段掩码的变量。然后,您可以将该变量传递给请求。

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

字段路径注意事项

请仅包含您在响应中所需的字段。仅返回所需的字段:

  • 允许服务器保存处理周期,从而以更低的延迟时间返回结果。

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

  • 这会减小响应大小,从而实现更高的网络吞吐量。

  • 确保您不会请求不必要的数据,这有助于避免不必要的处理时间和结算费用。