Skip to content

图元要素 🌎

ECCesium.PointPrimitive

点位图元,继承于Overlay

example

js
let position = new ECCesium.Position(120, 20)
let point = new ECCesium.PointPrimitive(position)
point.setStyle({
  pixelSize: 10,
})

creation

  • constructor(position)

    构造函数

    • 参数
      • {Position|Number|String|Object} position:坐标
    • 返回值 point

properties

  • {Position|Number|String|Object} position:坐标

methods

  • setStyle(style)

    设置样式

    • 参数
    • 返回值 this
json
// 样式参数(可选)
{
  "pixelSize": 1, //像素大小
  "heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
  "color": ECCesium.Color.WHITE, //颜色
  "outlineColor": ECCesium.Color.WHITE, //边框颜色
  "outlineWidth": 0, //边框大小,
  "scaleByDistance": {
    "near": 0, //最近距离
    "nearValue": 0, //最近距离值
    "far": 1, //最远距离值
    "farValue": 0 //最远距离值
  }, //根据距离设置比例
  "translucencyByDistance": {
    "near": 0, //最近距离
    "nearValue": 0, //最近距离值
    "far": 1, //最远距离值
    "farValue": 0 //最远距离值
  }, //根据距离设置透明度
  "distanceDisplayCondition": {
    "near": 0, //最近距离
    "far": Number.MAX_VALUE //最远距离
  }, //根据距离设置可见
  "disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}

ECCesium.BillboardPrimitive

图标图元,继承于Overlay

example

js
let position = new ECCesium.Position(120, 20)
let billboard = new ECCesium.BillboardPrimitive(position, '***/**.png')
billboard.size = [20, 20]

creation

  • constructor(position,icon)

    构造函数

    • 参数
      • {Position|Number|String|Object} position:坐标
      • {String} icon:图标地址
    • 返回值 billboard

properties

  • {Position} position:坐标
  • {String} icon:图标地址
  • {Array<Number>} size:图标大小

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式,详情参考:Billboard
    • 返回值 this
json
// 样式参数(可选)
{
  "heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
  "scale": 1, //比例
  "pixelOffset": { "x": 0, "y": 0 }, //偏移像素
  "rotation": 0, //旋转角度
  "translucencyByDistance": {
    "near": 0, //最近距离
    "nearValue": 0, //最近距离值
    "far": 1, //最远距离值
    "farValue": 0 //最远距离值
  }, //根据距离设置透明度
  "scaleByDistance": {
    "near": 0, //最近距离
    "nearValue": 0, //最近距离值
    "far": 1, //最远距离值
    "farValue": 0 //最远距离值
  }, //根据距离设置比例
  "distanceDisplayCondition": {
    "near": 0, //最近距离
    "far": Number.MAX_VALUE //最远距离
  }, //根据距离设置可见
  "disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}

ECCesium.BounceBillboardPrimitive

跳动图标图元,继承于BillboardPrimitive

example

js
let position = new ECCesium.Position(120, 20)
let billboard = new ECCesium.BounceBillboardPrimitive(position, '***/**.png')
billboard.size = [20, 20]

creation

  • constructor(position,icon)

    构造函数

    • 参数
      • {Position|Number|String|Object} position:坐标
      • {String} icon:图标地址
    • 返回值 billboard

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式,详情参考:Billboard
    • 返回值 this
json
// 样式参数(可选)
{
  "maxOffsetY": 10, //垂直方向最大平移量
  "offsetAmount": 0.1 //垂直方向每帧平移量
  // 其他样式参考 BillboardPrimitive 样式
}

ECCesium.LabelPrimitive

标签图元,继承于Overlay

example

js
let position = new ECCesium.Position(120, 20)
let Label = new ECCesium.LabelPrimitive(position, 'test')

creation

  • constructor(position,text)

    构造函数

    • 参数
      • {Position|Number|String|Object} position:坐标
      • {String} text:文本
    • 返回值 label

properties

  • {Position|Number|String|Object} position:坐标
  • {String} text:文本

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式,详情参考:Label
    • 返回值 this
json
// 样式参数(可选)
{
  "font": "30px sans-serif", // CSS 字体设置
  "scale": 1, //比例
  "pixelOffset": { "x": 0, "y": 0 }, //偏移像素
  "heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
  "showBackground": false, //是否显示背景
  "backgrounECCesiumolor": ECCesium.Color.BLACK, //背景颜色
  "backgroundPadding": { "x": 0, "y": 0 }, //背景间隙
  "fillColor": ECCesium.Color.BLACK, //文字颜色
  "outlineColor": ECCesium.Color.WHITE, //边框颜色
  "outlineWidth": 0, //边框大小,
  "scaleByDistance": {
    "near": 0, //最近距离
    "nearValue": 0, //最近距离值
    "far": 1, //最远距离值
    "farValue": 0 //最远距离值
  }, //根据距离设置比例
  "translucencyByDistance": {
    "near": 0, //最近距离
    "nearValue": 0, //最近距离值
    "far": 1, //最远距离值
    "farValue": 0 //最远距离值
  }, //根据距离设置透明度
  "distanceDisplayCondition": {
    "near": 0, //最近距离
    "far": Number.MAX_VALUE //最远距离
  }, //根据距离设置可见
  "disableDepthTestDistance": 0 // 深度检测距离,用于防止剪切地形,设置为零时,将始终应用深度测试。设置为Number.POSITIVE_INFINITY时,永远不会应用深度测试。
}

ECCesium.BounceLabelPrimitive

跳动文本图元,继承于LabelPrimitive

example

js
let position = new ECCesium.Position(120, 20)
let label = new ECCesium.BounceLabelPrimitive(position, 'test')

creation

  • constructor(position,text)

    构造函数

    • 参数
      • {Position|Number|String|Object} position:坐标
      • {String} text:文本
    • 返回值 label

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式,详情参考:Label
    • 返回值 this
json
// 样式参数(可选)
{
  "maxOffsetY": 10, //垂直方向最大平移量
  "offsetAmount": 0.1 //垂直方向每帧平移量
  // 其他样式参考 LabelPrimitive 样式
}

ECCesium.PolylinePrimitive

线图元,继承于Overlay

example

js
let polyline = new ECCesium.PolylinePrimitive('120,20;120,30')
polyline.setStyle({
  width: 10,
})

creation

  • constructor(positions)

    构造函数

    • 参数
      • {String|Array<Position|Number|String|Object>} positions:坐标串
    • 返回值 polyline

properties

  • {String|Array<Position|Number|String|Object>} positions:坐标串
  • {Position} center:中心点 readonly
  • {Number} distance:距离,单位:米 readonly

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式,详情参考:Polyline
    • 返回值 this
json
// 样式参数(可选)
{
  "width": 1, //线宽
  "material": ECCesium.Color.WHITE, //材质
  "clampToGround": false, //是否贴地
  "shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
  "distanceDisplayCondition": {
    "near": 0, //最近距离
    "far": Number.MAX_VALUE //最远距离
  }, //根据距离设置可见
  "classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
  "zIndex": 0 //层级
}

ECCesium.TrailLinePrimitive

轨迹线图元,继承于Overlay

example

js
let trailLinePrimitive = new ECCesium.TrailLinePrimitive('120,20;120,30;122,30')

creation

  • constructor(positions,[asynchronous])

    构造函数

    • 参数
      • {String|Array<Position|Number|String|Object>} positions:坐标串
    • 返回值 trailLine

properties

  • {String|Array<Position|Number|String|Object>} positions:坐标串

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式
    • 返回值 this
json
// 样式参数(可选)
{
  "speed": 5, //速度
  "color": ECCesium.Color.WHITE //颜色
}

ECCesium.FlowLinePrimitive

流动线图元,继承于Overlay

example

js
let flowLinePrimitive = new ECCesium.FlowLinePrimitive('120,20;120,30;122,30')

creation

  • constructor(positions,[asynchronous])

    构造函数

    • 参数
      • {String|Array<Position|Number|String|Object>} positions:坐标串
    • 返回值 flowLine

properties

  • {String|Array<Position|Number|String|Object>} positions:坐标串

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式
    • 返回值 this
json
// 样式参数(可选)
{
  "speed": 5, //速度
  "color": ECCesium.Color.WHITE, //颜色
  "percent": 0.3, // 比例
  "gradient": 0.1 // 透明程度
}

ECCesium.ModelPrimitive

模型图元,继承于Overlay

example

js
let position = new ECCesium.Position(120, 20)
let model = new ECCesium.ModelPrimitive(position, '**/**.glb')

creation

  • constructor(position, modelUrl)

    构造函数

    • 参数
      • {Position|Number|String|Object} position:坐标
      • {String} modelUrl:模型地址
    • 返回值 model

properties

  • {Position|Number|String|Object} position:坐标
  • {String} modelUrl:模型地址
  • {Promise} readyPromise:加载完成后的异步函数 readonly

methods

  • getMaterial(name)

    设置材质

    • 参数
      • {String} name:节点名称
    • 返回值 modelMaterial
  • getMesh(name)

    获取三角网

    • 参数
      • {String} name:节点名称
    • 返回值 modelMesh
  • getNode(name)

    获取节点

    • 参数
      • {String} name:节点名称
    • 返回值 modelNode
  • getNodes()

    获取所有节点

    • 返回值 array<ModelNode>
  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式,详情参考:Model
    • 返回值 this
json
// 样式参数(可选)
{
  "scale": 1, //比例
  "minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
  "maximumScale": 0, //指定模型的最大比例
  "heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
  "shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
  "silhouetteColor": ECCesium.Color.RED, //轮廓颜色
  "silhouetteSize": 0, //轮廓宽度
  "lightColor": ECCesium.Color.RED, //模型着色时指定灯光颜色
  "distanceDisplayCondition": {
    "near": 0, //最近距离
    "far": Number.MAX_VALUE //最远距离
  } //根据距离设置可见
}

ECCesium.DiffuseWallPrimitive

扩散墙图元,继承于Overlay

example

js
let position = new ECCesium.Position(120, 20)
let wall = new ECCesium.DiffuseWallPrimitive(position, 2000, 1000)

creation

  • constructor(center, radius, height)

    构造函数

    • 参数
      • {Position|Number|String|Object} center:圆心
      • {Number} radius:半径
      • {Number} height:高度
    • 返回值 wall

properties

  • {Position|Number|String|Object} center:圆心
  • {Number} radius:半径
  • {Number} height:高度

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式
    • 返回值 this
json
// 样式参数(可选)
{
  "minRadius": 10, // 动画最小半径
  "minHeight": 30, // 动画最小高度
  "color": ECCesium.Color.RED, // 墙体颜色
  "slices": 128, //边数
  "speed": 10 //速度
}

ECCesium.ElecEllipsoidPrimitive

电弧球图元,继承于Overlay

example

js
let elecEllipsoid = new ECCesium.ElecEllipsoidPrimitive('120,20',{x:2000,y:2000:z:2000})

creation

  • constructor(center,radius)

    构造函数

    • 参数
      • {Position|Number|String|Object} center:球心
      • {Object} radius:球半径
    • 返回值 elecEllipsoid

properties

  • {Position|Number|String|Object} center:球心
  • {Object} radius:球半径

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式
    • 返回值 this
json
// 样式参数(可选)
{
  "speed": 5, //速度
  "color": ECCesium.Color.WHITE //颜色
}

ECCesium.LightCylinderPrimitive

光柱要素,继承于Overlay

example

js
let position = new ECCesium.Position(120, 20)
let cylinder = new ECCesium.LightCylinderPrimitive(position, 1000, 1, 100)

creation

  • constructor(position, length, topRadius, bottomRadius)

    构造函数

    • 参数
      • {Position|Number|String|Object} position:坐标
      • {Number} length:长度
      • {Number} topRadius:上半径
      • {Number} bottomRadius:下半径
    • 返回值 cylinder

properties

  • {Position} position:坐标
  • {Number} length:长度
  • {Number} topRadius:上半径
  • {Number} bottomRadius:下半径

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式
    • 返回值 this
json
// 样式参数(可选)
{
  "color": ECCesium.Color.BLACK //颜色
}

ECCesium.ScanCirclePrimitive

扫描圆图元,继承于Overlay

example

js
let scanCirclePrimitive = new ECCesium.ScanCirclePrimitive('120,20', 1000)

creation

  • constructor(position,radius)

    构造函数

    • 参数
      • {String|Position|Array|Object} position:圆心
      • {Number} radius:半径
    • 返回值 scanCircle

properties

  • {String|Position|Array|Object} position:圆心
  • {Number} radius:半径

methods

  • setStyle(style)

    设置样式

    • 参数
      • {Object} style:样式
    • 返回值 this
json
// 样式参数(可选)
{
  "speed": 5, //速度
  "color": ECCesium.Color.WHITE //颜色
}

ECCesium.WaterPrimitive

水面图元,继承于Overlay

example

js
let water = new ECCesium.WaterPrimitive('120,20;120,30;122,30')
water.setStyle({
  baseWaterColor: ECCesium.Color.AQUA.withAlpha(0.3),
  normalMap: 'examples/images/icon/waterNormalsSmall.jpg',
  frequency: 1000.0,
  animationSpeed: 0.01,
  amplitude: 10,
  specularIntensity: 10,
})

creation

  • constructor(positions,[holes])

    构造函数

    • 参数
      • {String|Array<Position|Number|String|Object>} positions:坐标串
      • {Array<Position|Number|String|Object>} holes:洞面坐标
    • 返回值 water

properties

  • {String|Array<Position|Number|String|Object>} positions:坐标串

methods

  • setStyle(style)

    设置样式

    • 参数
    • 返回值 this
json
// 样式参数(可选)
{
  "height": 1, //高度
  "extrudedHeight": 0, //拉升高度
  "stRotation": 0, //旋转角度
  "outline": false, //是否显示边框
  "closeTop": true, //顶面是否闭合
  "closeBottom": true, //底面是否闭合
  "classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
  "baseWaterColor": ECCesium.Color.WHITE, // 水体颜色
  "blenECCesiumolor": ECCesium.Color.WHITE, // 混合颜色
  "specularMap": "", // 镜面图
  "normalMap": "", // 法线图
  "frequency": 1000, //波纹数量
  "animationSpeed": 0.03, // 动画速度
  "amplitude": 10, //水波振幅
  "specularIntensity": 10 //镜面反射强度
}

ECCesium.VideoPrimitive

视频图元,继承于Overlay

example

js
let videoEl = new document.getElementById('video')
let videoPrimitive = new ECCesium.VideoPrimitive('120,20;120,30;122,30', videoEl)

creation

  • constructor(positions,video)

    构造函数

    • 参数
      • {String|Array<Position|Number|String|Object>} positions:坐标串
      • {Element} video:视频节点
    • 返回值 videoPrimitive

properties

  • {String|Array<Position|Number|String|Object>} positions:坐标串
  • {Element} video:视频节点