Appearance
Context
说明
Context 是一个上下文类,用于存储地图的一些信息。
构造函数
typescript
new Context(container: HTMLElement, config: Config);
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
container | HTMLElement | 地图容器 | - |
config | Config | 地图配置 | {} |
属性
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;
切换楼层
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
floor | Floor | 楼层 | - |
返回值
无
使用示例
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] |
duration | number | 动画时长 | 500 |
返回值
Promise<unknown>,动画结束改变 promise 状态
使用示例
typescript
context.fitCameraToGround();
dispose
typescript
dispose(): void;
销毁Context,释放内存
参数
无
返回值
无
使用示例
typescript
context.dispose();
addEventListener
typescript
addEventListener(eventName: string, callback: () => void): void;
添加事件监听
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
eventName | string | 事件名称 | - |
callback | () => void | 事件回调 | - |
返回值
无
使用示例
typescript
bmap.addEventListener("zoom-change", () => {
console.log("zoom-change");
});
removeEventListener
typescript
removeEventListener(eventName: string, callback: () => void): void;
移除事件监听
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
eventName | string | 事件名称 | - |
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;
指针悬停事件
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
e | PointerEvent | 指针事件对象 | - |
graphics | Graphic[] | 悬停的图形数组 | - |
pois | Poi[] | 悬停的POI数组 | - |
position | Vector3 | 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;
指针移动事件
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
e | PointerEvent | 指针事件对象 | - |
graphics | Graphic[] | 当前指针下的图形数组 | - |
pois | Poi[] | 当前指针下的POI数组 | - |
position | Vector3 | 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;
悬停事件
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
graphics | Graphic[] | 当前悬停的图形数组 | - |
返回值
无
使用示例
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;
容器大小改变事件
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
width | number | 新的容器宽度 | - |
height | number | 新的容器高度 | - |
返回值
无
使用示例
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;
控制器缩放改变事件
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
zoom | number | 新的缩放值 | - |
返回值
无
使用示例
typescript
context.addEventListener("control-zoom-change", ({ zoom }) => {
console.log("new zoom level:", zoom);
});