路径规划组件

一期仅对外开放驾车路径规划。

const routePlan = new RoutePlan(container, {
map: map,
drivingOptions: {
policy: DrivingPolicy.AVOID_CONGESTION,
alternatives: 1
}
});

// 搜索路径
routePlan.search({
start: new BMapGL.Point(116.404, 39.915),
end: new BMapGL.Point(116.305, 39.982)
});

// 监听结果事件
routePlan.on('result', (data: RoutePlanEventData) => {
console.log('路径规划结果:', data);
// 可以使用归一化的数据在地图上绘制路线
});

// 监听错误事件
routePlan.on('error', (error: Error) => {
console.error('路径规划失败:', error.message);
});

Hierarchy

  • BaseWidget
    • RoutePlan

Constructors

  • 创建路径规划组件实例

    Parameters

    • container: string | HTMLElement

      挂载容器(DOM 元素或选择器)

    • options: RoutePlanOptions

      组件配置项

    Returns RoutePlan

Properties

container: HTMLElement
root: HTMLElement = null

Methods

  • 搜索路径

    Parameters

    Returns Promise<NormalizedRouteResult>

    Promise

    // 基础搜索
    await routePlan.search({
    start: new BMapGL.Point(116.404, 39.915),
    end: new BMapGL.Point(116.305, 39.982)
    });

    // 驾车带途经点
    await routePlan.search({
    start: new BMapGL.Point(116.404, 39.915),
    end: new BMapGL.Point(116.305, 39.982),
    waypoints: [
    new BMapGL.Point(116.35, 39.95)
    ]
    });
  • 切换路径规划类型

    Parameters

    Returns void

    routePlan.switchType('driving');
    
  • 清空结果

    Returns void

    routePlan.clear();
    
  • 获取当前路径规划类型

    Returns RoutePlanType

    当前类型

  • 注册事件监听

    支持的事件:

    • result: 搜索成功,参数为 RoutePlanEventData
    • error: 搜索失败,参数为 Error
    • typechange: 类型切换,参数为 { type: RoutePlanType }
    • planselect: 方案选中(展开),参数为 { type, planIndex, plan }
    • clear: 清空结果

    Parameters

    • event:
          | "error"
          | "result"
          | "typechange"
          | "planselect"
          | "clear"
          | "navclick"

      事件名

    • handler: EventHandler

      回调函数

    Returns this

    this

  • 移除事件监听,支持 resulterrortypechangeplanselectclearnavclick 事件

    Parameters

    • event:
          | "error"
          | "result"
          | "typechange"
          | "planselect"
          | "clear"
          | "navclick"

      事件名

    • Optionalhandler: EventHandler

      可选,要移除的回调;不传则移除该事件的全部监听

    Returns this

    this

  • 销毁组件

    Returns void

  • 渲染组件 UI

    Returns void

  • Get or create root node

    Returns HTMLElement

  • Parameters

    • event: string
    • Rest...args: unknown[]

    Returns void