Skip to content

TransitRoute

用于获取公交线路规划方案。

构造函数

构造函数描述
TransitRoute(location: [Map](./map) | [Point](./point) | String, opts: [TransitRouteOptions](#配置选项))创建一个公交导航实例。location表示检索区域,类型可为地图实例、坐标点或城市名称的字符串。当参数为地图实例时,检索位置由当前地图中心点确定;当参数为坐标时,检索位置由该点所在位置确定;当参数为城市名称时,检索会优先在该城市内进行

配置选项

此类表示TransitRoute构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示。

属性类型描述
renderOptionsRenderOptions搜索结果的呈现设置
policyTransitPolicy市内公交的策略参数
intercityPolicyIntercityPolicy跨城公交的换乘策略参数
transitTypePolicyTransitTypePolicy跨城公交的交通方式策略参数
pageCapacityNumber返回方案的个数
onSearchCompleteFunction检索完成后的回调函数。参数:results: TransitRouteResult,公交导航结果
onMarkersSetFunction标注添加完成后的回调函数。参数:pois: Array ,起点和目的地数组。transfers: Array ,公交车站数组
onInfoHtmlSetFunction气泡内容创建后的回调函数。参数:poi: LocalResultPoi,表示当前气泡对应的点(可以是起点、终点或换乘车站)html: HTMLElement,气泡内的DOM元素
onPolylinesSetFunction折线添加完成后的回调函数。参数:lines: Array ,公交线路数组。routes: Array ,步行线路数组,通过Route.getPolyline()方法可得到对应的折线覆盖物
onResultsHtmlSetFunction结果列表添加完成后的回调函数。参数:container: 结果列表所用的HTML元素

方法

方法返回值描述
search(start: Point | LocalResultPoi, end: Point | LocalResultPoi)none发起检索。 start: 起点,参数可以坐标点或者LocalSearchPoi实例。 end: 终点,参数可以是坐标点或者LocalSearchPoi实例,3.0版本暂不支持起终点参数为关键字,开发者可以先用检索接口确认关键字的坐标点
getResults()TransitRouteResult返回最近一次检索的结果
clearResults()none清除最近一次检索的结果
enableAutoViewport()none启用自动调整地图层级,当指定了搜索结果所展现的地图时有效
disableAutoViewport()none禁用自动调整地图层级
setPageCapacity(capacity: Number)none设置每页返回方案个数(1-5),默认为5
setPolicy(policy: TransitPolicy)none设置城市内换乘策略
setIntercityPolicy(intercityPolicy: IntercityPolicy)none设置跨城换乘策略
setTransitTypePolicy(transitTypePolicy: TransitTypePolicy)none设置跨城交通方式策略
setSearchCompleteCallback(callback: Function)none设置检索结束后的回调函数。 参数: results: TransitRouteResult,公交导航结果
setMarkersSetCallback(callback: Function)none设置添加标注后的回调函数。 参数: pois: Array ,起点和目的地数组。 transfers: Array ,公交车站数组
setInfoHtmlSetCallback(callback: Function)none设置气泡打开后的回调函数。 参数: poi: LocalResultPoi,表示当前气泡对应的点(可以是起点、终点或换乘车站) html: HTMLElement,气泡内的DOM元素
setPolylinesSetCallback(callback: Function)none设置添加路线后的回调函数。 参数: lines: Array ,公交线路数组。 routes: Array ,步行线路数组,通过Route.getPolyline()方法可得到对应的折线覆盖物
setResultsHtmlSetCallback(callback: Function)none设置结果列表创建后的回调函数。 参数: container: 结果列表所用的HTML元素
getStatus()StatusCodes返回状态码
toString()String返回线路规划对象类型

示例

ts
// 创建公交导航实例
const transitRoute = new BMapGL.TransitRoute(map, {
  renderOptions: {
    map: map,
    panel: "results"
  },
  onSearchComplete: (results: BMapGL.TransitRouteResult) => {
    // 获取第一条方案
    const plan = results.getPlan(0);
    console.log('总距离:', plan.getDistance());
    console.log('总时间:', plan.getDuration());
  }
});

// 设置起终点
const start = new BMapGL.Point(116.404, 39.915);
const end = new BMapGL.Point(116.404, 39.915);

// 发起检索
transitRoute.search(start, end);

// 设置每页显示方案数
transitRoute.setPageCapacity(3);

// 设置市内换乘策略
transitRoute.setPolicy(BMapGL.TransitPolicy.BMAP_TRANSIT_POLICY_RECOMMEND);

基于 MIT 许可发布