Appearance
Overlay
说明
Overlay 是一个覆盖物类,用于在地图上创建HTML覆盖物,可以绑定到地图上的元素(如Graphic、Poi等)。
构造函数
typescript
new Overlay(context: Context, options?: Partial<OverlayOptions>);
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
context | Context | 地图上下文 | - |
options | Partial<OverlayOptions> | 覆盖物配置 | {} |
配置项
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
autoUpdate | boolean | 是否自动更新位置 | true |
appendToBody | boolean | 是否添加到body上 | false |
autoChangePlacement | boolean | 是否自动改变位置 | false |
返回值
Overlay 覆盖物实例
属性
div
- 类型:
HTMLDivElement
- 默认值:-
覆盖物的DOM元素
position
- 类型:
Vector3
- 默认值:
new Vector3()
覆盖物的位置
visible
- 类型:
boolean
- 默认值:
true
覆盖物是否可见
options
- 类型:
OverlayOptions
- 默认值:
{autoUpdate: true, appendToBody: false, autoChangePlacement: false}
覆盖物配置
placement
- 类型:
Placement
- 默认值:
"top"
覆盖物的位置类型,可选值:"top" | "bottom" | "left" | "right" | "leftTop" | "rightTop" | "leftBottom" | "rightBottom" | "center"
方法
bindElement
typescript
bindElement(element: Object3D): void;
将覆盖物绑定到地图元素上
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
element | Object3D | 要绑定的地图元素 | - |
返回值
无
使用示例
typescript
overlay.bindElement(graphic);
unBindElement
typescript
unBindElement(): void;
解除覆盖物与地图元素的绑定
参数
无
返回值
无
使用示例
typescript
overlay.unBindElement();
setVisible
typescript
setVisible(visible: boolean, display?: string): void;
设置覆盖物是否可见
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
visible | boolean | 是否可见 | - |
display | string | display样式 | "block" |
返回值
无
使用示例
typescript
overlay.setVisible(false);
setOpacity
typescript
setOpacity(opacity: number): void;
设置覆盖物透明度
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
opacity | number | 透明度值 | - |
返回值
无
使用示例
typescript
overlay.setOpacity(0.5);
dispose
typescript
dispose(): void;
销毁覆盖物
参数
无
返回值
无
使用示例
typescript
overlay.dispose();
事件
update-position
typescript
(event: "update-position", args: { x: number; y: number; width: number; height: number }): void;
覆盖物位置更新事件,仅在autoUpdate为false且appendToBody为false时触发
参数
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
x | number | x坐标 | - |
y | number | y坐标 | - |
width | number | 容器宽度 | - |
height | number | 容器高度 | - |
返回值
无
使用示例
typescript
overlay.addEventListener("update-position", ({ x, y, width, height }) => {
console.log(x, y, width, height);
});