Skip to content

DivBoard Div 面板

演练场

引入

ts
import { DivBoard } from "@m-tech/gis-core";

new DivBoard(position, container);

入参

参数类型必填默认值描述
positionPosition-位置
containerHTMLElement | string-Dom 内容
optionsObject-配置项
options.idstring | number-唯一标识
options.offset[number, number]-偏移像素
options.transformOrigin[string, string]'center center'变换中心点

属性

属性类型读/写描述
showboolean读写设置元素是否可见
positionPosition读写设置位置
offset[number, number]读写设置元素偏移,默认 [0, 0],偏移单位:px 像素

方法

  • setStyle(style)

设置样式。

ts
divBoard.setStyle({
  distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 6000), // 根据距离控制是否显示
  translucencyByDistance: new Cesium.NearFarScalar(2000, 1, 6000, 0), // 根据距离控制透明底
  scaleByDistance: new Cesium.NearFarScalar(1000, 1, 6000, 0), // 根据距离控制缩放比例
});
  • on(OverlayEventType, Function)

监听事件。

示例

ts
import {
  DivBoard,
  Position,
  DomUtil,
  OverlayEventType,
} from "@m-tech/gis-core";

// 新建图层
const layer = new DivBoard({
  id: "html-layer",
}).addToViewer(viewer);

// 创建dom元素
const dom = DomUtil.create("div");
dom.innerText = "hello world!";

// 创建 DivBoard 元素并添加到图层
const divBoard = new DivBoard(new Position(114.315782, 30.47449, 0), dom, {
  id: "testDiv",
}).addToLayer(layer);

// 调整位置
divBoard.position = new Position(114.47449, 30.315782, 0);

// 设置样式
divBoard.setStyle({
  distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 6000), // 根据距离控制是否显示
  translucencyByDistance: new Cesium.NearFarScalar(2000, 1, 6000, 0), // 根据距离控制透明底
  scaleByDistance: new Cesium.NearFarScalar(1000, 1, 6000, 0), // 根据距离控制缩放比例
});

// 从layer读取
layer.getOverlayById("testDiv");

// 监听点击事件
divBoard.on(OverlayEventType.CLICK, (e) => {
  console.log(e);
});

MGis 地理三维库