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);
});