TransitRoute
用于获取公交线路规划方案。
构造函数
| 构造函数 | 描述 |
|---|---|
TransitRoute(location: [Map](./map) | [Point](./point) | String, opts: [TransitRouteOptions](#配置选项)) | 创建一个公交导航实例。location表示检索区域,类型可为地图实例、坐标点或城市名称的字符串。当参数为地图实例时,检索位置由当前地图中心点确定;当参数为坐标时,检索位置由该点所在位置确定;当参数为城市名称时,检索会优先在该城市内进行 |
配置选项
此类表示TransitRoute构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示。
| 属性 | 类型 | 描述 |
|---|---|---|
| renderOptions | RenderOptions | 搜索结果的呈现设置 |
| policy | TransitPolicy | 市内公交的策略参数 |
| intercityPolicy | IntercityPolicy | 跨城公交的换乘策略参数 |
| transitTypePolicy | TransitTypePolicy | 跨城公交的交通方式策略参数 |
| pageCapacity | Number | 返回方案的个数 |
| onSearchComplete | Function | 检索完成后的回调函数。参数:results: TransitRouteResult,公交导航结果 |
| onMarkersSet | Function | 标注添加完成后的回调函数。参数:pois: Array ,起点和目的地数组。transfers: Array ,公交车站数组 |
| onInfoHtmlSet | Function | 气泡内容创建后的回调函数。参数:poi: LocalResultPoi,表示当前气泡对应的点(可以是起点、终点或换乘车站)html: HTMLElement,气泡内的DOM元素 |
| onPolylinesSet | Function | 折线添加完成后的回调函数。参数:lines: Array ,公交线路数组。routes: Array ,步行线路数组,通过Route.getPolyline()方法可得到对应的折线覆盖物 |
| onResultsHtmlSet | Function | 结果列表添加完成后的回调函数。参数: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);