|
|
2 年之前 | |
|---|---|---|
| .. | ||
| README.md | 2 年之前 | |
三维场景重要组成部分, 用数字化表示三场景中的一个实体和记录其实时状态
覆盖物基类
:::warning 该类无法实例化 :::
{String} overlayId:唯一标识 readonly{String} id:业务唯一标识{Boolean} show:是否显示{Object} attr:业务属性{Array} contextMenu:设置右击菜单,菜单的回调函数参数为 viewer,overlay{String} state:覆盖物状态 readonly{String} type:覆盖物类型 readonly{Boolean} allowDrillPicking:是否可以穿透选择,默认为 false,如果为 true 时,覆盖物为穿透选择其后面的所有覆盖物,并触发其后面的所有覆盖物的鼠标事件添加到图层
{Layer} layer :图层返回值 this
remove()
删除
返回值 this
setLabel(text, textStyle)
设置标签
{String} text:文本{String} textStyle:文本样式,详情参考:DC.Labelthis:::warning 该函数仅对下列覆盖物有效:Point、Circle、Polygon、Billboard、Ellipse、Rectangle :::
事件订阅
{Object} type :订阅类型{Function} callback :订阅回调{Object} context :上下文返回值 this
off(type, callback, context)
取消事件订阅
{Object} type :订阅类型{Function} callback :订阅回调{Object} context :上下文返回值 this
fire(type,params)
触发事件
{Object} type :订阅类型{Object} params :参数this注册覆盖物类型
参数
{String} type:覆盖物类型getOverlayType(type)
获取覆盖物类型
{String} type:覆盖物类型string点位要素,继承于Overlay
let position = new DC.Position(120, 20)
let point = new DC.Point(position)
point.setStyle({
pixelSize: 10,
})
构造函数
{Position|String|Array|Object} position:坐标point{Position|String|Array|Object} position:坐标设置样式
{Object} style:样式,详情参考:PointGraphicsthis// 样式参数(可选)
{
"pixelSize": 1, //像素大小
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"color": DC.Color.WHITE, //颜色
"outlineColor": DC.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时,永远不会应用深度测试。
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物point线要素,继承于Overlay
let polyline = new DC.Polyline('120,20;120,30')
polyline.setStyle({
width: 10,
})
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串polyline{String|Array<Position|Number|String|Object>} positions:坐标串{DC.Position} center:中心点 readonly{Number} distance:距离,单位:米 readonly设置样式
{Object} style:样式,详情参考:PolylineGraphicsthis// 样式参数(可选)
{
"width": 1, //线宽
"material": DC.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 //层级
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物polyline面要素,继承于Overlay
let polygon = new DC.Polygon('120,20;120,30;122,30')
polygon.setStyle({
height: 10,
})
构造函数
{String|Array<Position|Number|String|Object} positions:坐标串polygon{String|Array<Position|Number|String|Object>} positions:坐标串{String|Array<Position|Number|String|Object>} holes:洞坐标串{DC.Position} center:中心点 readonly{Number} area:距离,单位:平方米 readonly设置样式
{Object} style:样式,详情参考:PolygonGraphicsthis// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"stRotation": 0, //旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"closeTop": true, //顶面是否闭合
"closeBottom": true, //底面是否闭合
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物polygon图标要素,继承于Overlay
let position = new DC.Position(120, 20)
let billboard = new DC.Billboard(position, '***/**.png')
billboard.size = [20, 20]
构造函数
{Position|String|Array|Object} position:坐标{String} icon:图标地址billboard{Position|String|Array|Object} position:坐标{String} icon:图标地址{Array<Number>} size:图标大小设置样式
{Object} style:样式,详情参考:BillboardGraphicsthis// 样式参数(可选)
{
"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时,永远不会应用深度测试。
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物billbard标签要素,继承于Overlay
let position = new DC.Position(120, 20)
let Label = new DC.Label(position, 'test')
构造函数
{Position|String|Array|Object} position:坐标{String} text:文本label{Position} position:坐标{String} text:文本设置样式
{Object} style:样式,详情参考:LabelGraphicsthis// 样式参数(可选)
{
"font": "30px sans-serif", // CSS 字体设置
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"showBackground": false, //是否显示背景
"backgroundColor": DC.Color.BLACK, //背景颜色
"backgroundPadding": { "x": 0, "y": 0 }, //背景间隙
"fillColor": DC.Color.BLACK, //文字颜色
"outlineColor": DC.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时,永远不会应用深度测试。
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物{String} text:文本label圆要素,继承于Overlay
let position = new DC.Position(120, 20)
let circle = new DC.Circle(position, 200)
构造函数
{Position|String|Array|Object} center:圆心{String} radius:半径billboard{Position} center:圆心{String} radius:半径设置样式
{Object} style:样式,详情参考:EllipseGraphicsthis// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"rotation": 0, //顺时针旋转角度
"stRotation": 0, //逆时针旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
矩形要素,继承于Overlay
let rectangle = new DC.Rectangle('-90.0,32.0;-94.0,36.0;')
构造函数
{String|Array<Position|Number|String>} positions:坐标串rectangle{String|Array<Position|Number|String>} positions:坐标串设置样式
{Object} style:样式,详情参考:RectangleGraphicsthis// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"rotation": 0, //顺时针旋转角度
"stRotation": 0, //逆时针旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
墙体要素,继承于Overlay
let wall = new DC.Wall('-90.0,32.0,1000;-94.0,36.0,1000;')
构造函数
{String|Array<Position|Number|String>} positions:坐标串wall{String|Array<Position|Number|String>} positions:坐标串设置样式
{Object} style:样式,详情参考:WallGraphicsthis// 样式参数(可选)
{
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2 //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物wall模型要素,继承于Overlay
let position = new DC.Position(120, 20)
let model = new DC.Model(position, '**/**.glb')
构造函数
{Position|String|Array|Object} position:坐标{String} modelUrl:模型地址model{Position} position:坐标{String} modelUrl:模型地址设置样式
{Object} style:样式,详情参考:ModelGraphicsthis// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": DC.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": DC.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物{String} modelUrl:模型地址model3Dtiles 模型要素,继承于Overlay
let position = new DC.Position(120, 20)
let tileset = new DC.Tileset('**/tileset.json')
tileset.setPosition(position)
构造函数
{String} url:模型地址{Object} options:参数设置,详情参考:Tilesettileset{Promise} readyPromise:加载完成后的异步函数 readonly设置样式
{Object} style:样式,详情参考:TileStylethis let style = new DC.TilesetStyle({
color: {
conditions: [
['${Height} >= 100', 'color("purple", 0.5)'], //Height 为模型设置的属性
['${Height} >= 50', 'color("red")'],
['true', 'color("blue")'],
],
},
show: '${Height} > 0',
})
设置位置
{Position|String|Array|Object} position:位置返回值 this
setHeadingPitchRoll(heading, pitch, roll)
设置方位角
{Number} heading:偏航角度,可能其他框架作 yaw,表示绕 Z 轴旋转。默认:0{Number} pitch:俯仰角度,表示绕 Y 轴旋转。默认:0{Number} roll:翻转角度,表示绕 X 轴旋转。默认:0返回值 this
setHeight(height,isAbsolute)
设置高度
{Number} height:高度{Boolean} isAbsolute:是否为绝对高度,如果为 true,将不根据模型中心高度计算返回值 this
setScale(scale)
设置比例
{Number} scale:比例返回值 this
setCustomShader(customShader)
设置自定义片元着色器
{String} customShader:片元着色器返回值 this
setProperties(properties)
根据现有的属性添加属性
{Array<Object>} properties: 属性this//属性参数
{
"key": "name", //已有属性名称
"keyValue": "1", //已有属性值
"propertyName": "highlight", //新增属性名称
"propertyValue": true //新增属性值
}
DivIcon 要素,继承于Overlay
let position = new DC.Position(120, 20)
let divIcon = new DC.DivIcon(position, '<div></div>')
构造函数
{Position|String|Array|Object} position:坐标{String|Element} content:内容divIcon{Position|String|Array} position:坐标{String|Element} content:内容 writeonly设置样式
{Object} style:样式,this// 样式参数(可选)
{
"className": "test", //样式名
"scaleByDistance": {
"near": 0, //最近距离
"nearValue": 0, //最近距离值
"far": 1, //最远距离值
"farValue": 0 //最远距离值
}, //根据距离设置比例
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物{String|Element} content:内容divIcon盒要素,继承于Overlay
let position = new DC.Position(120, 20)
let box = new DC.Box(position, 20, 30, 40)
构造函数
{Position|String|Array|Object} position:坐标{Number} length:长度{Number} width:宽度{Number} height:高度box{Position} position:坐标{Number} length:长度{Number} width:宽度{Number} height:高度设置样式
{Object} style:样式,详情参考:BoxGraphicsthis// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
走廊要素,继承于Overlay
let corridor = new DC.Corridor('120,20;120,30')
corridor.setStyle({
width: 10,
})
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串corridor{Array<Position>} positions:坐标串设置样式
{Object} style:样式,详情参考:CorridorGraphicsthis// 样式参数(可选)
{
"width": 1, //线宽
"height": 0, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"cornerType": 0, //转角类别,0:圆角、1:直角、2:斜角
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物corridor圆柱要素,继承于Overlay
let position = new DC.Position(120, 20)
let cylinder = new DC.Cylinder(position, 20, 30, 40)
构造函数
{Position|Number|String|Object} position:坐标{Number} length:长度{Number} topRadius:上半径{Number} bottomRadius:下半径cylinder{Position} position:坐标{Number} length:长度{Number} topRadius:上半径{Number} bottomRadius:下半径设置样式
{Object} style:样式,详情参考:CylinderGraphicsthis// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
椭圆要素,继承于Overlay
let position = new DC.Position(120, 20)
let ellipse = new DC.Ellipse(position, 20, 30)
构造函数
{Position|Number|String|Object} position:坐标{Number} semiMajorAxis:长半轴{Number} semiMinorAxis:短半轴ellipse{Position} position:坐标{Number} semiMajorAxis:长半轴{Number} semiMinorAxis:短半轴设置样式
{Object} style:样式,详情参考:EllipseGraphicsthis// 样式参数(可选)
{
"height": 1, //高度
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"extrudedHeight": 0, //拉升高度
"rotation": 0, //顺时针旋转角度
"stRotation": 0, //逆时针旋转角度
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
}, //根据距离设置可见
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"zIndex": 0 //层级
}
球体要素,继承于Overlay
let position = new DC.Position(120, 20)
let ellipsoid = new DC.Ellipsoid(position, { x: 30, y: 30, z: 30 })
构造函数
{Position|Number|String|Object} position:坐标{Object} radius:半径,格式是:{x: 30, y: 30, z: 30}ellipsoid{Position} position:坐标{Object} radius:半径,格式是:{x: 30, y: 30, z: 30}设置样式
{Object} style:样式,详情参考:EllipsoidGraphicsthis// 样式参数(可选)
{
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
平面要素,继承于Overlay
let position = new DC.Position(120, 20)
let plane = new DC.Plane(position, 20, 30, { normal: 'x' })
构造函数
{Position|Number|String|Object} position:坐标{Number} width:宽度{Number} height:高度{Object} plane:面板格式plane// 面板参数(可选)
{
"normal": "x", // 法线,x,y,z其中一个
"distance": 0 // 距离
}
{Position} position:坐标{Number} width:宽度{Number} height:高度{Number} distance:距离设置样式
{Object} style:样式,详情参考:PlaneGraphicsthis// 样式参数(可选)
{
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
管道要素,继承于Overlay
function computeCircle(radius) {
var positions = []
for (var i = 0; i < 360; i++) {
var radians = DC.Math.toRadians(i)
positions.push({
x: radius * Math.cos(radians),
y: radius * Math.sin(radians),
})
}
return positions
}
let polylineVolume = new DC.PolylineVolume(
'-90.0,32.0,0.0;-90.0,36.0,100000.0;-94.0,36.0,0.0;',
computeCircle(60000)
)
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串{Array} shape:形状polylineVolume{Array<Position>} positions:坐标串{Array} shape:形状设置样式
{Object} style:样式,详情参考:PolylineVolumeGraphicsthis// 样式参数(可选)
{
"cornerType": 0, //转角类别,0:圆角、1:直角、2:斜角
"fill": true, //是否用提供的材料填充多边形。
"material": DC.Color.WHITE, //材质
"outline": false, //是否显示边框
"outlineColor": DC.Color.BLACK, //边框颜色
"outlineWidth": 0, //边框宽度
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
Entity 转换为 Overlay
{Object} entity:Cesium 覆盖物polylineVolume动态图标,继承于Overlay
let position = new DC.Position(120, 20)
let billboard = new DC.DynamicBillboard(position, '***/**.png')
billboard.size = [20, 20]
构造函数
{Position|String|Array|Object} position:坐标{String} icon:图标地址billboard{Position} position:坐标 readonly{String} icon:图标地址{Array<Number>} size:图标大小添加点位
{Position|Array|String|Object} position:点位{Number} interval:间隔,单位:秒返回值 this
setStyle(style)
设置样式
{Object} style:样式,详情参考:BillboardGraphicsthis// 样式参数(可选)
{
"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时,永远不会应用深度测试。
}
动态模型要素,继承于Overlay
let position = new DC.Position(120, 20)
let model = new DC.DynamicModel(position, '**/**.glb')
构造函数
{Position|String|Array|Object} position:坐标{String} modelUrl:模型地址model{Position} position:坐标 readonly{String} modelUrl:模型地址添加点位
{Position|Array|String|Object} position:点位{Number} interval:间隔,单位:秒返回值 this
setStyle(style)
设置样式
{Object} style:样式,详情参考:ModelGraphicsthis// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": DC.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": DC.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
自定义图标,继承于Overlay
let position = new DC.Position(120, 20)
let billboard = new DC.CustomBillboard(position, '***/**.png')
billboard.size = [20, 20]
构造函数
{Position|String|Array|Object} position:坐标{String} icon:图标地址billboard{Position} position:坐标{String} icon:图标地址{Array<Number>} size:图标大小设置垂直线
{Object} style:样式,详情参考:PolylineGraphics返回值 this
setBottomCircle(radius,style,rotateAmount)
设置底圆
{Number} radius:半径{Object} style:样式,详情参考:EllipseGraphics{Number} rotateAmount:旋转量返回值 this
setStyle(style)
设置样式
{Object} style:样式,详情参考:BillboardGraphicsthis// 样式参数(可选)
{
"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时,永远不会应用深度测试。
}
自定义文本,继承于Overlay
let position = new DC.Position(120, 20)
let label = new DC.CustomLabel(position, 'test')
构造函数
{Position|String|Array|Object} position:坐标{String} text:文本label{Position} position:坐标{String} text:文本设置垂直线
{Object} style:样式,详情参考:PolylineGraphics返回值 this
setBottomCircle(radius,style,rotateAmount)
设置底圆
{Number} radius:半径{Object} style:样式,详情参考:EllipseGraphics{Number} rotateAmount:旋转量返回值 this
setStyle(style)
设置样式
{Object} style:样式,详情参考:LabelGraphicsthis// 样式参数(可选)
{
"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时,永远不会应用深度测试。
}
攻击箭头要素,继承于Overlay
let attackArrow = new DC.AttackArrow('-90.0,32.0;-94.0,36.0;-94.0,38.0')
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串attackArrow{Array<Position>} positions:坐标串设置样式
{Object} style:样式,详情参考:Polygonthis双箭头要素,继承于Overlay
let doubleArrow = new DC.DoubleArrow('-90.0,32.0;-94.0,36.0;-94.0,38.0')
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串doubleArrow{Array<Position>} positions:坐标串设置样式
{Object} style:样式,详情参考:Polygonthis直箭头要素,继承于Overlay
let fineArrow = new DC.FineArrow('-90.0,32.0;-94.0,36.0')
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串fineArrow{Array<Position>} positions:坐标串设置样式
{Object} style:样式,详情参考:Polygonthis聚集地要素,继承于Overlay
let gatheringPlace = new DC.GatheringPlace('-90.0,32.0;-94.0,36.0')
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串gatheringPlace{Array<Position>} positions:坐标串设置样式
{Object} style:样式,详情参考:Polygonthis聚集地,继承于Overlay
let tailedAttackArrow = new DC.TailedAttackArrow('-90.0,32.0;-94.0,36.0')
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串tailedAttackArrow{Array<Position>} positions:坐标串设置样式
{Object} style:样式,详情参考:Polygonthis图标图元,继承于Overlay
let position = new DC.Position(120, 20)
let billboard = new DC.BillboardPrimitive(position, '***/**.png')
billboard.size = [20, 20]
构造函数
{Position|Number|String|Object} position:坐标{String} icon:图标地址billboard{Position} position:坐标{String} icon:图标地址{Array<Number>} size:图标大小设置样式
{Object} style:样式,详情参考:Billboardthis// 样式参数(可选)
{
"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时,永远不会应用深度测试。
}
跳动图标图元,继承于BillboardPrimitive
let position = new DC.Position(120, 20)
let billboard = new DC.BounceBillboardPrimitive(position, '***/**.png')
billboard.size = [20, 20]
构造函数
{Position|Number|String|Object} position:坐标{String} icon:图标地址billboard设置样式
{Object} style:样式,详情参考:Billboardthis// 样式参数(可选)
{
"maxOffsetY": 10, //垂直方向最大平移量
"offsetAmount": 0.1 //垂直方向每帧平移量
// 其他样式参考 BillboardPrimitive 样式
}
扩散墙图元,继承于Overlay
let position = new DC.Position(120, 20)
let wall = new DC.DiffuseWallPrimitive(position, 2000, 1000)
构造函数
{Position|Number|String|Object} center:圆心{Number} radius:半径{Number} height:高度wall{Position|Number|String|Object} center:圆心{Number} radius:半径{Number} height:高度设置样式
{Object} style:样式this// 样式参数(可选)
{
"minRadius": 10, // 动画最小半径
"minHeight": 30, // 动画最小高度
"color": DC.Color.RED, // 墙体颜色
"slices": 128, //边数
"speed": 10 //速度
}
电弧球图元,继承于Overlay
let elecEllipsoid = new DC.ElecEllipsoidPrimitive('120,20',{x:2000,y:2000:z:2000})
构造函数
{Position|Number|String|Object} center:球心{Object} radius:球半径elecEllipsoid{Position|Number|String|Object} center:球心{Object} radius:球半径设置样式
{Object} style:样式this// 样式参数(可选)
{
"speed": 5, //速度
"color": DC.Color.WHITE //颜色
}
流动线图元,继承于Overlay
let flowLinePrimitive = new DC.FlowLinePrimitive('120,20;120,30;122,30')
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串flowLine{String|Array<Position|Number|String|Object>} positions:坐标串设置样式
{Object} style:样式this// 样式参数(可选)
{
"speed": 5, //速度
"color": DC.Color.WHITE, //颜色
"percent": 0.3, // 比例
"gradient": 0.1 // 透明程度
}
标签图元,继承于Overlay
let position = new DC.Position(120, 20)
let Label = new DC.LabelPrimitive(position, 'test')
构造函数
{Position|Number|String|Object} position:坐标{String} text:文本label{Position|Number|String|Object} position:坐标{String} text:文本设置样式
{Object} style:样式,详情参考:Labelthis// 样式参数(可选)
{
"font": "30px sans-serif", // CSS 字体设置
"scale": 1, //比例
"pixelOffset": { "x": 0, "y": 0 }, //偏移像素
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"showBackground": false, //是否显示背景
"backgroundColor": DC.Color.BLACK, //背景颜色
"backgroundPadding": { "x": 0, "y": 0 }, //背景间隙
"fillColor": DC.Color.BLACK, //文字颜色
"outlineColor": DC.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时,永远不会应用深度测试。
}
光柱要素,继承于Overlay
let position = new DC.Position(120, 20)
let cylinder = new DC.LightCylinderPrimitive(position, 1000, 1, 100)
构造函数
{Position|Number|String|Object} position:坐标{Number} length:长度{Number} topRadius:上半径{Number} bottomRadius:下半径cylinder{Position} position:坐标{Number} length:长度{Number} topRadius:上半径{Number} bottomRadius:下半径设置样式
{Object} style:样式this// 样式参数(可选)
{
"color": DC.Color.BLACK //颜色
}
跳动文本图元,继承于LabelPrimitive
let position = new DC.Position(120, 20)
let label = new DC.BounceLabelPrimitive(position, 'test')
构造函数
{Position|Number|String|Object} position:坐标{String} text:文本label设置样式
{Object} style:样式,详情参考:Labelthis// 样式参数(可选)
{
"maxOffsetY": 10, //垂直方向最大平移量
"offsetAmount": 0.1 //垂直方向每帧平移量
// 其他样式参考 LabelPrimitive 样式
}
模型图元,继承于Overlay
let position = new DC.Position(120, 20)
let model = new DC.ModelPrimitive(position, '**/**.glb')
构造函数
{Position|Number|String|Object} position:坐标{String} modelUrl:模型地址model{Position|Number|String|Object} position:坐标{String} modelUrl:模型地址{Promise} readyPromise:加载完成后的异步函数 readonly设置材质
{String} name:节点名称返回值 modelMaterial
getMesh(name)
获取三角网
{String} name:节点名称返回值 modelMesh
getNode(name)
获取节点
{String} name:节点名称返回值 modelNode
getNodes()
获取所有节点
返回值 array<ModelNode>
setStyle(style)
设置样式
{Object} style:样式,详情参考:Modelthis// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": DC.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": DC.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
模型结合图元,继承于Overlay
let positions = '120,20;120,30;122,30'
let model = new DC.ModelCollectionPrimitive(positions, '**/**.glb')
构造函数
{Array<Position|String|Object>} positions:坐标串{String} modelUrl:模型地址model{Array<Position|String|Object>} positions:坐标串{String} modelUrl:模型地址{Array<Object>} attrs:属性集合{Promise} readyPromise:加载完成后的异步函数 readonly获取模型实例
{String} instanceId:实例 ID,默认为实例的 index,可通过鼠标事件获取返回值 modelInstance
getAttrByInstanceId(instanceId)
获取属性
{String} instanceId:实例 ID,默认为实例的 index,可通过鼠标事件获取返回值 Object
setStyle(style)
设置样式
{Object} style:样式,详情参考:Modelthis// 样式参数(可选)
{
"scale": 1, //比例
"minimumPixelSize": 0, //指定模型的最小像素大小,而不考虑缩放
"maximumScale": 0, //指定模型的最大比例
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"shadows": 0, //阴影类型,0:禁用、1:启用 、2:投射、3:接受
"silhouetteColor": DC.Color.RED, //轮廓颜色
"silhouetteSize": 0, //轮廓宽度
"lightColor": DC.Color.RED, //模型着色时指定灯光颜色
"distanceDisplayCondition": {
"near": 0, //最近距离
"far": Number.MAX_VALUE //最远距离
} //根据距离设置可见
}
点位图元,继承于Overlay
let position = new DC.Position(120, 20)
let point = new DC.PointPrimitive(position)
point.setStyle({
pixelSize: 10,
})
构造函数
{Position|Number|String|Object} position:坐标point{Position|Number|String|Object} position:坐标设置样式
{Object} style:样式,详情参考:PointGraphicsthis// 样式参数(可选)
{
"pixelSize": 1, //像素大小
"heightReference": 0, //高度参照,0:位置无参照,位置是绝对的,1:位置固定在地形上 2:位置高度是指地形上方的高度。
"color": DC.Color.WHITE, //颜色
"outlineColor": DC.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时,永远不会应用深度测试。
}
线图元,继承于Overlay
let polyline = new DC.PolylinePrimitive('120,20;120,30')
polyline.setStyle({
width: 10,
})
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串polyline{String|Array<Position|Number|String|Object>} positions:坐标串{Position} center:中心点 readonly{Number} distance:距离,单位:米 readonly设置样式
{Object} style:样式,详情参考:Polylinethis// 样式参数(可选)
{
"width": 1, //线宽
"material": DC.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 //层级
}
扫描圆图元,继承于Overlay
let scanCirclePrimitive = new DC.ScanCirclePrimitive('120,20', 1000)
构造函数
{String|Position|Array|Object} position:圆心{Number} radius:半径scanCircle{String|Position|Array|Object} position:圆心{Number} radius:半径设置样式
{Object} style:样式this// 样式参数(可选)
{
"speed": 5, //速度
"color": DC.Color.WHITE //颜色
}
轨迹线图元,继承于Overlay
let trailLinePrimitive = new DC.TrailLinePrimitive('120,20;120,30;122,30')
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串trailLine{String|Array<Position|Number|String|Object>} positions:坐标串设置样式
{Object} style:样式this// 样式参数(可选)
{
"speed": 5, //速度
"color": DC.Color.WHITE //颜色
}
水面图元,继承于Overlay
let water = new DC.WaterPrimitive('120,20;120,30;122,30')
water.setStyle({
baseWaterColor: DC.Color.AQUA.withAlpha(0.3),
normalMap: 'examples/images/icon/waterNormalsSmall.jpg',
frequency: 1000.0,
animationSpeed: 0.01,
amplitude: 10,
specularIntensity: 10,
})
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串{Array<Position|Number|String|Object>} holes:洞面坐标water{String|Array<Position|Number|String|Object>} positions:坐标串设置样式
{Object} style:样式,详情参考:PolygonGraphicsthis// 样式参数(可选)
{
"height": 1, //高度
"extrudedHeight": 0, //拉升高度
"stRotation": 0, //旋转角度
"outline": false, //是否显示边框
"closeTop": true, //顶面是否闭合
"closeBottom": true, //底面是否闭合
"classificationType": 2, //分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者
"baseWaterColor": DC.Color.WHITE, // 水体颜色
"blendColor": DC.Color.WHITE, // 混合颜色
"specularMap": "", // 镜面图
"normalMap": "", // 法线图
"frequency": 1000, //波纹数量
"animationSpeed": 0.03, // 动画速度
"amplitude": 10, //水波振幅
"specularIntensity": 10 //镜面反射强度
}
视频图元,继承于Overlay
let videoEl = new document.getElementById('video')
let videoPrimitive = new DC.VideoPrimitive('120,20;120,30;122,30', videoEl)
构造函数
{String|Array<Position|Number|String|Object>} positions:坐标串{Element} video:视频节点videoPrimitive{String|Array<Position|Number|String|Object>} positions:坐标串{Element} video:视频节点