Skip to content

Context

说明

Context 是一个上下文类,用于存储地图的一些信息。

构造函数

typescript
new Context(container: HTMLElement, config: Config);

参数

参数类型说明默认值
containerHTMLElement地图容器-
configConfig地图配置{}

属性

container

  • 类型HTMLElement
  • 默认值null

地图容器

config

  • 类型Config
  • 默认值null

地图配置

control

  • 类型Control
  • 默认值null 控制器

currentFloor

  • 类型Floor
  • 默认值null 地图展示的楼层

clientSize

  • 类型{ width: number, height: number }
  • 默认值:{ width: 0, height: 0 } 地图容器的大小

方法

switchFloor

typescript
switchFloor(floor: Floor): void;

切换楼层

参数

参数类型说明默认值
floorFloor楼层-

返回值

使用示例

typescript
context.switchFloor(floor);

fitCameraToGround

typescript
fitCameraToGround(padding?: [number, number, number, number], duration?: number): Promise<unknown>;

地图缩放到容器大小并居中

参数

参数类型说明默认值
padding[number, number, number, number]地图与容器的间距[20, 20, 20, 20]
durationnumber动画时长500

返回值

Promise<unknown>,动画结束改变 promise 状态

使用示例

typescript
context.fitCameraToGround();

dispose

typescript
dispose(): void;

销毁Context,释放内存

参数

返回值

使用示例

typescript
context.dispose();

addEventListener

typescript
addEventListener(eventName: string, callback: () => void): void;

添加事件监听

参数

参数类型说明默认值
eventNamestring事件名称-
callback() => void事件回调-

返回值

使用示例

typescript
bmap.addEventListener("zoom-change", () => {
  console.log("zoom-change");
});

removeEventListener

typescript
removeEventListener(eventName: string, callback: () => void): void;

移除事件监听

参数

参数类型说明默认值
eventNamestring事件名称-
callback() => void事件回调-

返回值

使用示例

typescript
bmap.removeEventListener("zoom-change", () => {
  console.log("zoom-change");
});

事件

update

typescript
(event: "update", args: {}): void;

地图更新事件

参数

返回值

使用示例

typescript
context.addEventListener("update", () => {
  console.log("map updated");
});

pointer-level

typescript
(event: "pointer-level", args: {}): void;

指针离开事件

参数

返回值

使用示例

typescript
context.addEventListener("pointer-level", () => {
  console.log("pointer left the map");
});

pointer-over

typescript
(event: "pointer-over", args: { e: PointerEvent, graphics: Graphic[], pois: Poi[], position: Vector3 | null }): void;

指针悬停事件

参数

参数类型说明默认值
ePointerEvent指针事件对象-
graphicsGraphic[]悬停的图形数组-
poisPoi[]悬停的POI数组-
positionVector3 | null悬停位置的三维坐标-

返回值

使用示例

typescript
context.addEventListener("pointer-over", ({ graphics, pois, position }) => {
  console.log("hovered graphics:", graphics);
  console.log("hovered pois:", pois);
  console.log("hover position:", position);
});

pointer-move

typescript
(event: "pointer-move", args: { e: PointerEvent, graphics: Graphic[], pois: Poi[], position: Vector3 | null }): void;

指针移动事件

参数

参数类型说明默认值
ePointerEvent指针事件对象-
graphicsGraphic[]当前指针下的图形数组-
poisPoi[]当前指针下的POI数组-
positionVector3 | null指针位置的三维坐标-

返回值

使用示例

typescript
context.addEventListener("pointer-move", ({ graphics, pois, position }) => {
  console.log("graphics under pointer:", graphics);
  console.log("pois under pointer:", pois);
  console.log("pointer position:", position);
});

hover

typescript
(event: "hover", args: { graphics: Graphic[] }): void;

悬停事件

参数

参数类型说明默认值
graphicsGraphic[]当前悬停的图形数组-

返回值

使用示例

typescript
context.addEventListener("hover", ({ graphics }) => {
  console.log("hovered graphics:", graphics);
});

control-change

typescript
(event: "control-change", args: {}): void;

控制器改变事件

参数

返回值

使用示例

typescript
context.addEventListener("control-change", () => {
  console.log("control changed");
});

resize

typescript
(event: "resize", args: { width: number, height: number }): void;

容器大小改变事件

参数

参数类型说明默认值
widthnumber新的容器宽度-
heightnumber新的容器高度-

返回值

使用示例

typescript
context.addEventListener("resize", ({ width, height }) => {
  console.log("new container size:", width, height);
});

control-zoom-change

typescript
(event: "control-zoom-change", args: { zoom: number }): void;

控制器缩放改变事件

参数

参数类型说明默认值
zoomnumber新的缩放值-

返回值

使用示例

typescript
context.addEventListener("control-zoom-change", ({ zoom }) => {
  console.log("new zoom level:", zoom);
});