Appearance
SortByDistance
说明
SortByDistance 是一个用于对POI列表按照距离进行排序的插件。它可以根据起点位置,计算并排序目标POI列表中各个POI到起点的实际路径距离。
构造函数
typescript
new SortByDistance(bmap: BMap, navPath?: NavPath);
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
bmap | BMap | 地图实例 | - |
navPath | NavPath | 导航路径插件实例 | - |
返回值
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列表进行排序,strict
为 false
时,先按照直线距离排序,只计算前 20 个POI的实际路径距离,strict
为 true
时,计算所有POI的实际路径距离。
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
start | { floor: string; x: number; y: number; } | 起点位置信息 | - |
list | { floor: string; center_x: number; center_y: number; distance?: number }[] | 待排序的POI列表 | - |
strict | boolean | 是否严格模式(计算所有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();