查询公交路线

欧洲经济区 (EEA) 开发者

公交路线会使用相应区域内可用的公共交通选项提供导航说明。公交选项可能包括公交车、地铁和火车等。公交路线通常还包括有关如何步行前往公交站、从公交站步行离开以及在公交站之间步行的说明。由于公交路线通常需要您使用多种出行方式,因此您请求路线的方式和响应的某些部分会有所不同。

公交路线与其他路线有何不同

您可以通过将 travelMode 设置为 TRANSIT 来请求公交路线,这种路线与使用其他出行方式选项的路线不同。您无法请求所有相同的对象和选项,并且与其他路线相比,响应会返回不同的字段。

在 Routes API 中,无论采用何种出行方式,步数始终是一条导航指令。因此,每条导航指令都是一个步骤。公交路线响应与其他出行方式的路线非常相似,但有几个关键区别:

请求差异 回答差异
您无法指定中间途经点。 包含 Transit 详细信息。
无法获取环保路线 包含每种出行方式的元数据,其中包含相应出行方式的步骤摘要,采用 stepsOverview 格式(如需请求此元数据,请使用 stepsOverview 字段遮盖)。
无法指定如何以及是否包含流量数据
无法指定要避开的路线特征
只能指定 transitPreferences。如需了解详情,请参阅 TransitPreference。

如需获取公交路线

  1. 设置出发地和目的地。
  2. 将 travelMode 设置为 TRANSIT。
  3. 添加适当的字段掩码,以获得所需的响应。请参阅请求所需的公交路线字段。
  4. 如果需要,请设置可选参数。请参阅为中转路线设置参数

请求所需的公交路线字段

使用字段掩码请求所需的公交路线字段。下表包含一些建议的公交路线响应,以及用于请求这些响应的字段掩码。

如何请求这些信息 使用此字段掩码
所有路线详情。 *
路线段的公交详情。 legs
路线中每个路段的估计费用,以及本地化的估计费用。 travelAdvisory
时长和距离的本地化文本 localizedValues

为公交路线设置参数

以下是公共交通路线的相关参数:

为此,请执行以下操作 使用此参数 备注
选择公交模式 travelMode: "TRANSIT" 必需。了解详情。
设置到达或出发时间 arrivalTime: new Date(yyyy-mm-ddThh:mm:ssZ)

或

departureTime: new Date(yyyy-mm-ddThh:mm:ssZ)
可选。您可以指定到达时间或出发时间。如果未指定任何时间,departureTime 默认设置为当前执行时间 (now)。您只能在以下时间窗口内设置到达时间和出发时间,并以当前执行时间 (now) 为参考:
  • now之前(含)7 天
  • now 之后最多 100 天(含 100 天)
时间以 Date 对象的形式表示。

注意:公交时刻表会经常变化,可用的公交行程可能会随时间变化,并且无法保证提前很久的预测结果始终一致。

包含备选路线 computeAlternativeRoutes: true 可选。设置为 true 可让 computeRoutes 计算最多 3 条额外的路线(如有)。 了解详情
指定公交类型的偏好设置 transitPreference: {allowedTransitModes: ["BUS", "SUBWAY", "TRAIN", "LIGHT_RAIL", "RAIL"]}

注意:如果您指定了首选出行方式,返回的路线可能仍会使用其他公交模式,甚至仅使用其他公交模式,具体取决于路线的效率以及首选出行方式的可用性。

可选。指定首选的公交出行方式。 了解详情
指定公交路线偏好设置 transitPreference: {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} 可选。指定公交路线偏好设置。了解详情

示例请求

以下示例展示了如何请求公交路线:

const request = {
  origin: 'Hunters Point San Francisco, CA 94124',
  destination: '201 Marine Dr, San Francisco, CA 94129',
  travelMode: 'TRANSIT',
  departureTime: new Date(),
  transitPreference: {
    allowedTransitModes: ['BUS', 'SUBWAY', 'TRAIN', 'LIGHT_RAIL', 'RAIL'],
    routingPreference: 'FEWER_TRANSFERS', // Alternatively, 'LESS_WALKING'.
  },
  fields: ['path', 'legs', 'travelAdvisory', 'localizedValues'],
};