RidingRoute
用于获取骑行路线规划方案。
构造函数
| 构造函数 | 描述 |
|---|---|
| RidingRoute(location: Map | Point | String, opts: RidingRouteOptions) | 创建一个骑行导航实例。location表示检索区域,类型可为地图实例、坐标点或城市名称的字符串。当参数为地图实例时,检索位置由当前地图中心点确定;当参数为坐标时,检索位置由该点所在位置确定;当参数为城市名称时,检索会在该城市内进行 |
RidingRouteOptions
此类表示RidingRoute构造函数的可选参数。
| 属性 | 类型 | 描述 |
|---|---|---|
| renderOptions | RenderOptions | 搜索结果呈现设置 |
| onSearchComplete | Function | 检索完成后的回调函数。 参数: results: RidingRouteResult |
| onMarkersSet | Function | 标注添加完成后的回调函数。 参数: pois: Array ,起点和目的地点数组,。通过marker属性可得到其对应的标注 |
| onPolylinesSet | Function | 折线添加完成后的回调函数。 参数: routes: Array ,骑行线路数组,通过Route.getPolyline()方法可得到对应的折线覆盖物 |
| onInfoHtmlSet | Function | 标注气泡内容创建后的回调函数。 参数: poi: LocalResultPoi,通过其marker属性可得到当前的标注。 html: HTMLElement,气泡内的DOM元素 |
| onResultsHtmlSet | Function | 结果列表添加完成后的回调函数。 参数: container: 结果列表所用的HTML元素 |
RidingRouteResult
此类表示骑行路线导航的结果,没有构造函数,通过访问RidingRoute.getResults()方法或RidingRoute的onSearchComplete回调函数参数获得。
方法
| 方法 | 返回值 | 描述 |
|---|---|---|
getStart() | LocalResultPoi | 返回起点 |
getEnd() | LocalResultPoi | 返回终点 |
getNumPlans() | Number | 返回方案个数 |
getPlan(i: Number) | RoutePlan | 返回索引指定的方案。索引0表示第一条方案 |
方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| search(start: String | Point | LocalResultPoi, end: String | Point | LocalResultPoi) | none | 发起检索。 start: 起点,参数可以是关键字、坐标点(自1.1版本支持)或者LocalSearchPoi实例。 end: 终点,参数可以是关键字、坐标点(自1.1版本支持)或者LocalSearchPoi实例 |
| getResults() | RidingRouteResult | 返回最近一次检索的结果 |
| clearResults() | none | 清除最近一次检索的结果 |
| enableAutoViewport() | none | 启用自动调整地图层级,当指定了搜索结果所展现的地图时有效 |
| disableAutoViewport() | none | 禁用自动调整地图层级 |
| setLocation(location: Map | Point | String) | none | 设置检索范围,参数类型可以为地图实例、坐标点或字符串。例:setLocation("北京市") |
| setSearchCompleteCallback(callback: Function) | none | 设置检索结束后的回调函数。 参数: results: RidingRouteResult |
| setMarkersSetCallback(callback: Function) | none | 设置添加标注后的回调函数。 参数: pois: Array ,起点和目的地点数组。通过marker属性可得到其对应的标注 |
| setInfoHtmlSetCallback(callback: Function) | none | 设置气泡打开后的回调函数。 参数: poi: LocalResultPoi,通过其marker属性可得到当前的标注。 html: HTMLElement,气泡内的DOM元素 |
| setPolylinesSetCallback(callback: Function) | none | 设置添加路线后的回调函数。 参数: routes: Array ,骑行线路数组,通过Route.getPolyline()方法可得到对应的折线覆盖物 |
| setResultsHtmlSetCallback(callback: Function) | none | 设置结果列表创建后的的回调函数。 参数: container: 结果列表所用的HTML元素 |
| getStatus() | StatusCodes | 返回状态码 |
| toString() | String | 返回类型说明 |
示例
ts
// 创建骑行导航实例
const ridingRoute = new BMapGL.RidingRoute(map, {
renderOptions: {
map: map,
panel: "results"
},
onSearchComplete: (results: BMapGL.RidingRouteResult) => {
// 获取第一条方案
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);
// 发起检索
ridingRoute.search(start, end);
// 设置检索范围
ridingRoute.setLocation("北京市");