Skip to content

Marker 标记点


演练场

引入

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

new Marker(position, options);

入参

属性名称类型必填默认值描述
positionPosition-位置
optionsObject-配置
options.idstring | number-唯一标识
options.tweeningbooleanfalse是否开启缓动(位置变化时)
options.tweenDurationnumber1000缓动时间(ms)
options.billboardCesium.BillboardGraphics-图标配置
options.labelCesium.LabelGraphics-文字配置
options.modelCesium.ModelGraphics-模型配置

图标配置 options.billboard

属性名称类型必填默认值描述
iconstring-图标路径
size[number, number][32, 32]图标尺寸

更多属性参照Cesium.BillboardGraphics

文字配置 options.label

属性名称类型必填默认值描述
textstring-文字内容
direction'top' 'right' 'bottom' 'left' 'center' 'top-center''right'文字方位

更多属性参照Cesium.LabelGraphics

模型配置 options.model

属性名称类型必填默认值描述
uristring-模型路径

更多属性参照Cesium.ModelGraphics

属性

属性类型读/写描述
positionPosition读写设置位置
textstring读写设置文字内容
iconstring读写设置图标路径
uristring读写设置模型路径
tweeningboolean读写设置是否开启缓动(位置变化时)
winkboolean读写设置是否闪烁
winkSpeednumber读写设置闪烁速度

方法

  • setBillboardStyle(style)

设置图标样式。

  • setLabelStyle(style)

设置文字样式。

  • on(OverlayEventType, Function)

监听事件。

OverlayEventType 事件枚举、 Function 事件回调

示例

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

const marker = new Marker(new Position(114.315782, 30.47449, 0), {
  id: "17788889999", // 唯一标识
  tweening: true, // 是否开启缓动(位置变化时)
  tweenDuration: 1000, // 缓动时间(ms)
  billboard: {
    icon: new URL("../../assets/images/enterprise.png", import.meta.url).href,
    size: [32, 32],
    distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 8000),
  },
  label: {
    text: "测试点位", // 文字内容
    direction: "top-center", // 文字方位
    offset: [0, -2], // 文字偏移
    showBackground: true, // 是否显示背景
    backgroundColor: Cesium.Color.BLACK, // 背景颜色
    style: Cesium.LabelStyle.FILL_AND_OUTLINE, // 文字样式
    translucencyByDistance: new Cesium.NearFarScalar(450, 1, 500, 0), // 透明度随距离变化
  },
  model: {
    uri: new URL("../../assets/models/Cesium_Man.glb", import.meta.url).href, // 模型路径
    scale: 10.0, // 模型缩放
    distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 500), // 距离显示条件
  },
});

marker.position = new Position(114.315782, 30.47449, 0);

// 更新图标样式
marker.setBillboardStyle({
  icon: new URL("../../assets/images/enterprise.png", import.meta.url).href,
});

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

MGis 地理三维库