Skip to content

DrivingRouteLine

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

构造函数

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

DrivingRouteOptions

属性类型描述
mapBMapGL地图实例
policyDrivingPolicy路线规划策略策略
onSearchCompleteFunction检索完成后的回调函数。参数: results: DrivingRouteResult
onMarkersSetFunction标注添加完成后的回调函数。
onPolylinesSetFunction折线添加完成后的回调函数。

DrivingRouteResult

属性类型描述
waypointsArray<Point> | string途经点坐标点数组或坐标纬度经度拼接字符串,仅DrivingRouteLine支持
policyDrivingPolicy驾车导航策略

方法

方法返回值描述
search(start: Point | LocalResultPoi, end: Point | LocalResultPoi, { waypoints: Array<Point> | string })none发起检索。 start: 起点,参数可以是坐标点和LocalSearchPoi实例。 end: 终点,参数可以是坐标点或LocalSearchPoi实例, waypoings:坐标点数组或坐标纬度经度拼接字符串。如:'39.87920464090217,116.49257333444989|39.87806279099342,116.49218746174857'
getResults()DrivingRouteResult返回最近一次检索的结果
clearResults()none清除最近一次检索的结果
enableAutoViewport()none启用自动调整地图层级,当指定了搜索结果所展现的地图时有效
disableAutoViewport()none禁用自动调整地图层级
setPolicy()none设置路线规划策略,参数为策略常量
setSearchCompleteCallback(callback: Function)none设置检索结束后的回调函数。 参数: results: DrivingRouteResult
setMarkersSetCallback(callback: Function)none设置添加标注后的回调函数。
setPolylinesSetCallback(callback: Function)none设置添加路线后的回调函数。
getStatus()StatusCodes返回状态码
toString()String返回类型说明
showRoute()none展示路线
hideRoute()none隐藏路线

示例

ts
// 创建驾车导航实例
const drivingRouteLine = new BMapGL.DrivingRouteLine(map, {
  map: map,
  policy: BMapGL.DrivingPolicy.BMAP_DRIVING_POLICY_DEFAULT,
  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);
const waypoints = [
  new BMapGL.Point(116.404, 39.915),
  new BMapGL.Point(116.404, 39.915)
];

// 发起检索
drivingRouteLine.search(start, end, { waypoints });

// 使用字符串形式的途经点
const waypointsStr = '39.87920464090217,116.49257333444989|39.87806279099342,116.49218746174857';
drivingRouteLine.search(start, end, { waypoints: waypointsStr });

// 展示/隐藏路线
drivingRouteLine.showRoute();
drivingRouteLine.hideRoute();

基于 MIT 许可发布