Skip to content

SortByDistance

说明

SortByDistance 是一个用于对POI列表按照距离进行排序的插件。它可以根据起点位置,计算并排序目标POI列表中各个POI到起点的实际路径距离。

构造函数

typescript
new SortByDistance(bmap: BMap, navPath?: NavPath);

参数

参数类型说明默认值
bmapBMap地图实例-
navPathNavPath导航路径插件实例-

返回值

SortByDistance 插件实例

方法

sortByDistance

typescript
sortByDistance(start: { floor: string; x: number; y: number; }, list: { floor: string; center_x: number; center_y: number; distance?: number }[], strict: boolean = false): Promise<{ floor: string; center_x: number; center_y: number; distance?: number }[]>;

按距离对POI列表进行排序,strictfalse 时,先按照直线距离排序,只计算前 20 个POI的实际路径距离,stricttrue 时,计算所有POI的实际路径距离。

参数

参数类型说明默认值
start{ floor: string; x: number; y: number; }起点位置信息-
list{ floor: string; center_x: number; center_y: number; distance?: number }[]待排序的POI列表-
strictboolean是否严格模式(计算所有POI的实际路径距离)false

返回值

按距离排序后的POI列表

使用示例

typescript
const sortByDistance = new SortByDistance(bmap);
const sortedList = await sortByDistance.sortByDistance(
  { floor: "F1", x: 100, y: 100 },
  [
    { floor: "F1", center_x: 200, center_y: 200 },
    { floor: "F2", center_x: 150, center_y: 150 }
  ],
  true
);

dispose

typescript
dispose(): void;

销毁SortByDistance插件实例

在bmap销毁时,会自动调用dispose方法,无需手动调用

参数

返回值

使用示例

typescript
sortByDistance.dispose();