Skip to content

Overlay

说明

Overlay 是一个覆盖物类,用于在地图上创建HTML覆盖物,可以绑定到地图上的元素(如Graphic、Poi等)。

构造函数

typescript
new Overlay(context: Context, options?: Partial<OverlayOptions>);

参数

参数类型说明默认值
contextContext地图上下文-
optionsPartial<OverlayOptions>覆盖物配置{}

配置项

参数类型说明默认值
autoUpdateboolean是否自动更新位置true
appendToBodyboolean是否添加到body上false
autoChangePlacementboolean是否自动改变位置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;

将覆盖物绑定到地图元素上

参数

参数类型说明默认值
elementObject3D要绑定的地图元素-

返回值

使用示例

typescript
overlay.bindElement(graphic);

unBindElement

typescript
unBindElement(): void;

解除覆盖物与地图元素的绑定

参数

返回值

使用示例

typescript
overlay.unBindElement();

setVisible

typescript
setVisible(visible: boolean, display?: string): void;

设置覆盖物是否可见

参数

参数类型说明默认值
visibleboolean是否可见-
displaystringdisplay样式"block"

返回值

使用示例

typescript
overlay.setVisible(false);

setOpacity

typescript
setOpacity(opacity: number): void;

设置覆盖物透明度

参数

参数类型说明默认值
opacitynumber透明度值-

返回值

使用示例

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时触发

参数

参数类型说明默认值
xnumberx坐标-
ynumbery坐标-
widthnumber容器宽度-
heightnumber容器高度-

返回值

使用示例

typescript
overlay.addEventListener("update-position", ({ x, y, width, height }) => {
  console.log(x, y, width, height);
});