Skip to content

DrivingRoute

此类用于获取驾车路线规划方案。

构造函数

构造函数描述
DrivingRoute(location: Map | Point | String, opts: DrivingRouteOptions)创建一个驾车导航实例,其中location表示检索区域,类型可为地图实例、坐标点或城市名称的字符串。当参数为地图实例时,检索位置由地图当前的中心点确定;当参数为坐标时,检索位置由该点所在位置确定;当参数为城市名称时,检索会在该城市内进行

DrivingRouteOptions

此类表示DrivingRoute构造函数的可选参数。

属性类型描述
renderOptionsRenderOptions结果呈现设置
policyDrivingPolicy驾车策略
onSearchCompleteFunction检索完成后的回调函数。参数: results: DrivingRouteResult
onMarkersSetFunction标注添加完成后的回调函数。 参数: pois: Array ,起点和目的地点数组,通过marker属性可得到其对应的标注
onInfoHtmlSetFunction标注气泡内容创建后的回调函数。 参数: poi: LocalResultPoi,通过marker属性可得到当前的标注。html: HTMLElement,气泡内的DOM元素
onPolylinesSetFunction折线添加完成后的回调函数。 参数: routes: Array ,驾车线路数组,通过Route.getPolyline()方法可得到对应的折线覆盖物

DrivingRouteResult

此类表示路线导航的结果,没有构造函数,通过DrivingRoute.getResults()方法或DrivingRoute的onSearchComplete回调函数参数获得。

属性

属性类型描述
policyDrivingPolicy驾车导航策略

方法

方法返回值描述
getStart()LocalResultPoi返回起点
getEnd()LocalResultPoi返回终点
getNumPlans()Number返回方案个数
getPlan(i: Number)RoutePlan返回索引指定的方案。索引0表示第一条方案

方法

方法返回值描述
search(start: Point | LocalResultPoi, end: Point | LocalResultPoi)none发起检索。 start: 起点,参数可以是坐标点和LocalSearchPoi实例。 end: 终点,参数可以是坐标点或LocalSearchPoi实例
getResults()DrivingRouteResult返回最近一次检索的结果
clearResults()none清除最近一次检索的结果
enableAutoViewport()none启用自动调整地图层级,当指定了搜索结果所展现的地图时有效
disableAutoViewport()none禁用自动调整地图层级
setPolicy(policy: DrivingPolicy)none设置路线规划策略,参数为策略常量
setSearchCompleteCallback(callback: Function)none设置检索结束后的回调函数。 参数: results: DrivingRouteResult
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()方法可得到对应的折线覆盖物
getStatus()StatusCodes返回状态码
toString()String返回类型说明

示例

ts
// 创建驾车导航实例
const drivingRoute = new BMapGL.DrivingRoute(map, {
  renderOptions: {
    map: map,
    panel: "results"
  },
  policy: BMapGL.DrivingPolicy.LEAST_TIME,
  onSearchComplete: (results: BMapGL.DrivingRouteResult) => {
    // 获取第一条方案
    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);

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

// 设置路线规划策略
drivingRoute.setPolicy(BMapGL.DrivingPolicy.LEAST_DISTANCE);

基于 MIT 许可发布