1. DrawHandler
1.1. 初始化 new DrawHandler(geomap)
点线面圆绘制工具
Param | Type | Description |
---|---|---|
geomap | GeoMap | GeoMap对象 |
Example
var drawHandler = new BOSGeo.DrawHandler(geomap);
1.2. 属性
属性名 | Type | Read only | Description |
---|---|---|---|
drawOptions | Object |
true |
获取当前绘制所使用的参数 |
1.3. 方法
1.3.1. drawHandler.drawPoint(options, [okHandler], [cancelHandler])
画点(该方法逐渐会被废弃,建议使用该类的drawCustomPoint方法:2021-12-31)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
以下参数的Object对象: |
|
[options.color] | String |
'#ff0000' |
点的颜色,可以是 #rgb、#rgba、#rrggbb、#rrggbbaa、rgb()、rgba()、hsl()或者hsla()格式的css颜色值; |
[options.size] | Number |
5 |
点的大小; |
[options.opacity] | Number |
1 |
点的透明度; |
[options.text] | String |
'test' |
点的标注内容; |
[options.showLabel] | Boolean |
true |
是否显示文字标注; |
[options.offsetXY] | Number |
[0, 20] |
标注偏移; |
[options.fadeDistance] | Number |
5000 |
点的最大可视距离; |
[options.image] | String |
当有此属性时,点会渲染为billboard形式; |
|
[options.points] | Cartesian3 |
点的位置; |
|
[okHandler] | function |
绘制完成后的回调; |
|
[cancelHandler] | function |
绘制取消时的回调。 |
Example
drawHandler.drawPoint({
color: '#ffff00',
opacity: 0.5,
text: '111',
offsetXY: [0, 20],
fadeDistance: 100000,
image: 'http://192.168.1.165:8042/data/drawicon_sign_b3.png',
}, okFunction, cancelHandler);
1.3.2. drawHandler.drawPolyline(options, [okHandler], [cancelHandler])
绘制折线(该方法逐渐会被废弃,建议使用该类的drawPolylinePrimitive方法:2021-12-31)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象 |
|
[options.id] | Number |
对象ID |
|
[options.color] | String |
'#ff0000' |
线的颜色,可以是 #rgb、#rgba、#rrggbb、#rrggbbaa、rgb()、rgba()、hsl()或者hsla()格式的css颜色值 |
[options.width] | Number |
10 |
线的宽度 |
[options.points] | Array.<Cartesian3> |
线节点坐标 |
|
[options.opacity] | Number |
1 |
线的透明度 |
[options.lineType] | Number |
1 |
线类型 1-普通颜色材质 2-虚线材质 3-发光材质 4-动态材质 不传入时为普通颜色材质 |
[options.dynamicImg] | String | Image |
材质为4时,自定义图片 |
|
[options.repeat] | Number |
1 |
材质为4时,自定义图片的重复次数< |
[options.speed] | Number |
20 |
材质为4时,自定义图片流动的速率 |
[options.showLabel] | Boolean |
false |
是否显示线的属性标注 |
[options.clampToGround] | Boolean |
false |
线是否贴地 |
[options.layer] | LineLayer |
选填,绘制结果添加至线图层 |
|
[okHandler] | function |
绘制完成后的回调 |
|
[cancelHandler] | function |
绘制取消时的回调 |
Example
drawHandler.drawPolyline({
color : "#00ff00",
width : 20,
lineType: 4,
opacity: 0.5,
clampToGround:true,
dynamicImg: "http://bosgeo.boswinner.com/geoData/images/arrow_1.png",
// layer: lineLayer
}, function(data){
console.log(data);
});
1.3.3. drawHandler.drawArcLine(options, [okHandler], [cancelHandler])
绘制抛物线(该方法逐渐会被废弃,建议使用该类的drawParabolaPrimitive方法:2021-12-31)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象 |
|
[options.id] | Number |
对象ID |
|
[options.color] | String |
'#ff0000' |
线的颜色,可以是 #rgb、#rgba、#rrggbb、#rrggbbaa、rgb()、rgba()、hsl()或者hsla()格式的css颜色值 |
[options.opacity] | Number |
1 |
线的透明度,该参数会覆盖color参数的alpha值 |
[options.width] | Number |
10 |
线的宽度 |
[options.arcHeight] | Number |
50000 |
弧线最高点的高度 |
[options.arcDensity] | Number |
30 |
弧线光滑度 |
[options.lineType] | Number |
1 |
线类型 1-普通颜色材质 2-虚线材质 3-发光材质 4-动态材质 不传入时为普通颜色材质 |
[options.dynamicImg] | String |
Image |
材质为4时,自定义图片 |
[options.repeat] | Number |
1 |
材质为4时,自定义图片的重复次数 |
[options.speed] | Number |
20 |
材质为4时,自定义图片流动的速率 |
[options.layer] | LineLayer |
选填,绘制结果添加至线图层 |
|
[okHandler] | function |
绘制完成后的回调 |
|
[cancelHandler] | function |
绘制取消时的回调 |
Example
drawHandler.drawArcLine({
color: "#00ff00",
opacity: 0,
width: 15,
lineType: 4,
layer: lineLayer,
repeat:5,
speed: 1,
dynamicImg:"http://bosgeo.boswinner.com/geoData/images/arrow_1.png"
}, function (data) {
console.log(data);
});
1.3.4. drawHandler.drawPolygon(options, [okHandler], [cancelHandler])
画面(该方法逐渐会被废弃,建议使用该类的drawPolygonPrimitive方法:2021-12-31)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象 |
|
[options.id] | Number |
对象ID |
|
[options.color] | String |
'#ff0000' |
面的颜色,可以是 #rgb、#rgba、#rrggbb、#rrggbbaa、rgb()、rgba()、hsl()或者hsla()格式的css颜色值 |
[options.opacity] | Number |
0.8 |
面透明度 |
[options.height] | Number |
0.1 |
面高度(距离海平面的高度) |
[options.extrudedHeight] | Number |
0.1 |
拉伸高度,在height的基础上拉伸 |
[options.clampToGround] | Boolean |
false |
是否贴地 |
[options.landMaterial] | CustomAreaMaterial |
选填,添加至面图层时使用到的材质(设置该属性时color和opacity参数将不起作用) |
|
[options.layer] | AreaLayer |
选填,绘制结果添加至面图层 |
|
[okHandler] | function |
绘制完成后的回调,返回绘制传入的参数和绘制完成后的几何信息 |
|
[cancelHandler] | function |
绘制取消时的回调 |
Example
drawHandler.drawPolygon({
// height: 5,
clampToGround: false,
landMaterial: BOSGeo.CustomAreaMaterial.ColorMaterial,
}, okFunction, cancelHandler);
1.3.5. drawHandler.drawRectangle(options, [okHandler], [cancelHandler])
绘制矩形(该方法逐渐会被废弃,建议使用该类的drawCustomRectangle方法:2021-12-31)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象 |
|
[options.id] | Number |
对象ID |
|
[options.color] | String |
'#ff0000' |
面的颜色,可以是 #rgb、#rgba、#rrggbb、#rrggbbaa、rgb()、rgba()、hsl()或者hsla()格式的css颜色值 |
[options.opacity] | Number |
0.8 |
面透明度 |
[options.height] | Number |
0.1 |
面高度(距离海平面的高度) |
[options.extrudedHeight] | Number |
0.1 |
拉伸高度,在height的基础上拉伸 |
[options.clampToGround] | Boolean |
false |
是否贴地 |
[options.landMaterial] | CustomAreaMaterial |
选填,添加至面图层时使用到的材质(设置该属性时color和opacity参数将不起作用) |
|
[options.layer] | AreaLayer |
选填,绘制结果添加至面图层 |
|
[okHandler] | function |
绘制完成后的回调,返回绘制传入的参数和绘制完成后的几何信息 |
|
[cancelHandler] | function |
绘制取消时的回调 |
Example
drawHandler.drawRectangle({
id:"testID",
// layer: areaLayer,
extrudedHeight:100,
height:100,
}, okFunction, cancelHandler);
1.3.6. drawHandler.drawCircle(options, [okHandler], [cancelHandler])
绘制圆(该方法逐渐会被废弃,建议使用该类的drawEllipse方法:2021-12-31)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象 |
|
[options.id] | Number |
对象ID |
|
[options.color] | String |
'#ff0000' |
圆的颜色,可以是 #rgb、#rgba、#rrggbb、#rrggbbaa、rgb()、rgba()、hsl()或者hsla()格式的css颜色值 |
[options.opacity] | Number |
0.8 |
圆透明度 |
[options.clampToGround] | Boolean |
false |
是否贴地 |
[options.height] | Number |
0.1 |
圆高度 |
[options.extrudedHeight] | Number |
0.1 |
圆的拉伸高度 |
[options.landMaterial] | CustomAreaMaterial |
选填,添加至面图层时使用到的材质(设置该属性时color和opacity参数将不起作用) |
|
[options.layer] | AreaLayer |
选填,绘制结果添加至面图层 |
|
[okHandler] | function |
绘制完成后的回调 |
|
[cancelHandler] | function |
绘制取消时的回调 |
Example
drawHandler.drawCircle({
layer: areaLayer,
clampToGround: false,
extrudedHeight:100,
}, function (data) {
console.log(data);
})
1.3.7. drawHandler.drawEllipse(options, okHandler, cancelHandler)
绘制圆、椭圆、圆柱、椭圆柱
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.fillColor] | String |
'#FF0000' |
填充颜色CSS Color ,如#FF0000 |
[options.alpha] | Number |
填充颜色不透明度,0~1 |
|
[options.rotation] | Number |
0 |
椭圆朝向,单位为弧度 |
[options.radius] | Number |
圆、圆柱的半径,设置时仅需要一个点便可以绘制 |
|
[options.drawType] | DrawType |
BOSGeo.DrawType.CIRCLE |
绘制类型,包括圆、圆柱、椭圆和椭圆柱,其中,基本圆和圆柱用BOSGeo.DrawType.CIRCLE,椭圆和椭圆柱用BOSGeo.DrawType.ELLIPSE。 |
[options.name] | String |
'圆' |
名称 |
[options.isGround] | Boolean |
true |
是否贴地 |
[options.extrudedHeight] | Number |
拉伸高度,相对于圆柱和椭圆柱底面的高度,未定义时为平面图形 |
|
[options.labelOffset] | Cartesian2 |
标注像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, |
|
[options.tipBeforeDrawing] | String |
'左键单击后拖动开始绘制圆' |
绘制前的提示 |
[options.tipWhenDrawing] | String |
'左键单击后结束绘制圆,右键取消绘制' |
绘制中的提示 |
okHandler | function |
绘制完成回调方法,回调方法中返回的是当前被绘制的图元对象 |
|
cancelHandler | function |
绘制取消回调方法 |
Example
drawHandler.drawEllipse({
rotation: Math.PI / 4
}, function (ellipse) {
console.log('3秒后隐藏')
setTimeout(() => {
drawHandler.setDrawPrimitiveVisible(ellipse.id.id, false);
}, 3000);
});
1.3.8. drawHandler.drawEllipsoid(options, okHandler, cancelHandler)
绘制球体(椭球体)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.fillColor] | String |
'#FF0000' |
填充颜色CSS Color ,如#FF0000 |
[options.alpha] | Number |
填充颜色不透明度,0~1 |
|
[options.drawType] | DrawType |
BOSGeo.DrawType.SPHERE |
球体——Sphere、椭球体——Ellipsoid |
[options.radius] | Number |
球体的半径,设置时仅需要一个点便可以绘制 |
|
[options.name] | String |
'球' |
名称 |
[options.labelOffset] | Cartesian2 |
标注像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, |
|
[options.tipBeforeDrawing] | String |
'左键单击后拖动开始绘制球' |
绘制前的提示 |
[options.tipWhenDrawing] | String |
'左键单击后结束绘制球,右键取消绘制' |
绘制中的提示 |
okHandler | function |
绘制完成回调方法,回调方法中返回的是当前被绘制的图元对象 |
|
cancelHandler | function |
绘制取消回调方法 |
Example
drawHandler.drawEllipsoid({
fillColor: '#00FFF0',
alpha: 0.5,
}, function (ellipsoid) {
console.log('绘制结果', ellipsoid);
});
1.3.9. drawHandler.drawCustomRectangle(options, okHandler, cancelHandler)
绘制正方形(矩形)及其拉伸体
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.fillColor] | String |
'#FF0000' |
填充颜色CSS Color ,如#FF0000 |
[options.alpha] | Number |
填充颜色不透明度,0~1 |
|
[options.drawType] | DrawType |
BOSGeo.DrawType.SQUARE |
矩形种类,正方形和常规矩形 |
[options.name] | String |
'正方形' |
名称 |
[options.isGround] | Boolean |
false |
是否贴地 |
[options.angleToCross] | Number |
Math.PI / 2 |
DrawType为Rectangle才有效,矩形对角线与另外一条对角线的顺时针方向的夹角,取值范围(0,Math.PI) |
[options.extrudedHeight] | Number |
拉伸高度,相对于底面的高度 |
|
[options.labelOffset] | Cartesian2 |
标注像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, |
|
[options.tipBeforeDrawing] | String |
'左键单击后拖动开始绘制矩形' |
绘制前的提示 |
[options.tipWhenDrawing] | String |
'左键单击后结束绘制矩形,右键取消绘制' |
绘制中的提示 |
okHandler | function |
绘制完成回调方法,回调方法中返回的是当前被绘制的图元对象 |
|
cancelHandler | function |
绘制取消回调方法 |
Example
drawHandler.drawCustomRectangle({
fillColor: '#00FFF0',
alpha: 0.5,
drawType: BOSGeo.DrawType.RECTANGLE,
extrudedHeight: 100
}, function (res) {
drawHandler.flyToDrawPrimitive(res.id.id);
});
1.3.10. drawHandler.drawPolygonPrimitive(options, okHandler, cancelHandler)
绘制多边形(拉伸体)图元
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.fillColor] | String |
'#FF0000' |
填充颜色CSS Color ,如#FF0000 |
[options.alpha] | Number |
填充颜色不透明度,0~1 |
|
[options.drawType] | DrawType |
BOSGeo.DrawType.POLYGON |
多边形 |
[options.name] | String |
'多边形' |
名称 |
[options.isGround] | Boolean |
false |
是否贴地 |
[options.depthTestEnabled] | Boolean |
false |
是否开启深度测试(开启则不采用深度测试失败材质),非贴地图元才有效 |
[options.extrudedHeight] | Number |
拉伸高度,相对于底面的高度 |
|
[options.labelOffset] | Cartesian2 |
标注像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, 一般设置为new BOSGeo.Cartesian2(0, -height * scale); height 为图标原始像素高,水平偏移可根据标注长度定义 |
|
[options.tipBeforeDrawing] | String |
'左键单击开始绘制面' |
绘制前的提示 |
[options.tipWhenDrawing] | String |
'左键至少选择三个点,右键取消绘制' |
绘制中的提示 |
okHandler | function |
绘制完成回调方法 |
|
cancelHandler | function |
绘制取消回调方法 |
Example
drawHandler.drawPolygonPrimitive({
name: '测试多边形',
drawType: BOSGeo.DrawType.POLYGON,
extrudedHeight: 100,
labelOffset: new BOSGeo.Cartesian2(-25, -65)
}, (res) => {
drawHandler.downloadDrawPrimitive(res.id.id);
});
1.3.11. drawHandler.drawPolylinePrimitive(options, okHandler, cancelHandler)
绘制折线或线段图元
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.drawType] | DrawType |
BOSGeo.DrawType.POLYLINE |
绘制类型,默认为折线(BOSGeo.DrawType.POLYLINE),也可以是线段(BOSGeo.DrawType.SEGMENT_LINE) |
[options.name] | String |
'折线' |
名称 |
[options.isGround] | Boolean |
false |
是否贴地 |
[options.depthTestEnabled] | Boolean |
false |
是否开启深度测试(开启则不采用深度测试失败材质),非贴地图元才有效 |
[options.width] | Number |
10 |
线宽 |
[options.lineType] | CustomMaterialType |
BOSGeo.CustomMaterialType.LINE_COLOR |
线材质类型(此参数将逐渐废弃,建议直接使用customMaterial参数进行个性化的设置-2022.05.01) |
[options.customMaterial] | CustomLineMaterial |
BOSGeo.CustomLineMaterial.LineColorMaterial |
线自定义材质,要进行线材质的自定义请参考CustomLineMaterial类的说明 |
[options.labelOffset] | Cartesian2 |
标注像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, 一般设置为new BOSGeo.Cartesian2(0, -height * scale); height 为图标原始像素高,水平偏移可根据标注长度定义 |
|
[options.tipBeforeDrawing] | String |
'左键单击开始绘制线' |
绘制前的提示 |
[options.tipWhenDrawing] | String |
'左键至少选择两个点,右键完成绘制' |
绘制中的提示 |
okHandler | function |
绘制完成回调方法,回调方法中返回的是当前被绘制的图元对象 |
|
cancelHandler | function |
绘制取消回调方法 |
Example
let customMaterial = new BOSGeo.CustomLineMaterial({
type: BOSGeo.CustomMaterialType.LINE_FLOW,
color: BOSGeo.Color.fromCssColorString(#0000FFAA), //若要显示图片本身的颜色,需将该颜色参数设置为透明色 BOSGeo.Color.TRANSPARENT,
speedFactor: 20,
imagePath: 'https://bosgeo.boswinner.com/Assets/Images/green_line.png'
});
// let customMaterial = BOSGeo.CustomLineMaterial.LineArrowMaterial;
drawHandler.drawPolylinePrimitive({
name: '测试折线',
// drawType:BOSGeo.DrawType.SEGMENT_LINE,
customMaterial,
width:10,
isGround: true,
}, (res) => {
editorHandler.setEditorObject(res);
});
1.3.12. drawHandler.drawParabolaPrimitive(options, okHandler, cancelHandler)
绘制抛物线图元
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.name] | String |
'抛物线' |
名称 |
[options.width] | Number |
10 |
线宽 |
[options.lineType] | CustomMaterialType |
BOSGeo.CustomMaterialType.LINE_FLOW |
线材质类型(此参数将逐渐废弃,建议直接使用customMaterial参数进行个性化的设置-2022.05.01) |
[options.customMaterial] | CustomLineMaterial |
BOSGeo.CustomLineMaterial.LineFlowMaterial |
线自定义材质,要进行线材质的自定义请参考CustomLineMaterial类的说明 |
[options.vertexHeight] | Number |
50000 |
抛物线方程中y的极大值或极小值,绝对值越大,抛物线陡峭 |
[options.samples] | Number |
30 |
抛物线包含起止点的采样点个数,最小值为2 |
[options.labelOffset] | Cartesian2 |
标注像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, 一般设置为new BOSGeo.Cartesian2(0, -height * scale); height 为图标原始像素高,水平偏移可根据标注长度定义 |
|
[options.tipBeforeDrawing] | String |
'左键单击后拖动开始绘制抛物线' |
绘制前的提示 |
[options.tipWhenDrawing] | String |
'左键单击后结束绘制抛物线,右键取消绘制' |
绘制中的提示 |
okHandler | function |
绘制完成回调方法,回调方法中返回的是当前被绘制的抛物线图元对象——ParabolaPrimitive |
|
cancelHandler | function |
绘制取消回调方法 |
Example
// 自定义抛物线材质
let customMaterial = new BOSGeo.CustomLineMaterial({
type: BOSGeo.CustomMaterialType.LINE_FLOW,
color: BOSGeo.Color.ORANGE, //若要显示图片本身的颜色,需将该颜色参数设置为透明色 BOSGeo.Color.TRANSPARENT,
speedFactor: 6,
imagePath: 'https://bosgeo.boswinner.com/Assets/Images/green_line.png'
});
drawHandler.drawParabolaPrimitive({
name: '测试抛物线',
customMaterial
}, (res) => {
console.log('drawPrimitive', res);
drawHandler.flyToBoundingSphere(res.id.id);
});
1.3.13. drawHandler.drawCustomPoint(options, okHandler, cancelHandler)
绘制自定义标注点
Kind : instance method of DrawHandler
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
options.url | String |
标注资源地址 |
|
[options.scale] | Number |
1.0 |
尺寸大小 |
[options.drawType] | DrawType |
BOSGeo.DrawType.BILLBOARD |
图标 |
[options.name] | String |
'图标' |
名称 |
[options.disableDepthTestDistance] | String |
Number.POSITIVE_INFINITY |
指定从相机到禁用深度测试的距离。开启深度检测后,在指定距离内的图标将不再受深度的影响而显示,当设置为0时表示深度测试一直会起作用,当设置为无穷大时表示深度测试不起效。 |
[options.pixelOffset] | Cartesian2 |
图标像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, |
|
[options.labelOffset] | Cartesian2 |
标注像素偏移, 以文本标注左上角为原点,从左到右递增,从上往下递增, |
|
[options.tipBeforeDrawing] | String |
'左键单击绘制图标,右键取消绘制' |
绘制前的提示 |
okHandler | function |
绘制完成回调方法,回调方法中返回的是当前被绘制的图元对象 |
|
cancelHandler | function |
绘制取消回调方法 |
Example
drawHandler.drawCustomPoint({
name: '测试标注',
url: 'Assets/Images/tools/mark-point.png',
labelOffset: new BOSGeo.Cartesian2(-25, -65),
pixelOffset: new BOSGeo.Cartesian2(0, -25)
}, (res) => {
drawHandler.getDrawPrimitive(res.id.id);
});
1.3.14. drawHandler.drawWall(options, okHandler, cancelHandler)
绘制墙体
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
[options.name] | String |
'墙面' |
名称 |
[options.wallHeight] | Number |
10 |
墙面相对高度, 墙体相对于墙角底部高度, 值可为负但不能为零,单位为米 |
[options.bottomHeight] | Number |
墙底部高程(距离海平面的高度),perPositionHeight为true时有效(未设置时以鼠标添加的第一个点高程作为底部高程),否则以鼠标实时点击的每个点高程为准 |
|
[options.perPositionHeight] | Boolean |
true |
墙角底部高程是否保持一致 |
[options.customMaterial] | CustomAreaMaterial |
CustomAreaMaterial.ColorMaterial |
墙面自定义材质对象 |
[options.depthTestEnabled] | Boolean |
true |
是否开启深度测试(开启则不采用深度测试失败材质) |
[options.tipBeforeDrawing] | String |
'左键单击后拖动开始绘制墙面' |
绘制前的提示 |
[options.tipWhenDrawing] | String |
'左键单击后结束绘制墙面,右键取消绘制' |
绘制中的提示 |
okHandler | function |
绘制完成回调方法,回调方法中返回的是当前被绘制的自定义墙图元对象——BOSGeo.CustomWallPrimitive |
|
cancelHandler | function |
绘制取消回调方法 |
Example
function createVideoElement(videoSrc, id = Date.parse(new Date()), parentDOM = geoMap.viewer.container) {
var videoElement = document.createElement('video');
videoElement.id = id;
videoElement.src = videoSrc;
videoElement.type = 'video/mp4';
videoElement.style.position = 'absolute';
videoElement.style.zIndex = '-100';
videoElement.style.visibility = 'hidden';
videoElement.style.top = '0px';
videoElement.crossOrigin = '';
videoElement.autoplay = true;
videoElement.loop = true;
videoElement.muted = true;
parentDOM.append(videoElement);
return videoElement;
}
const customMaterial = new BOSGeo.CustomAreaMaterial({
type: BOSGeo.CustomMaterialType.VIDEO_IMAGE,
video: createVideoElement('http://bosgeo.boswinner.com/demo/resource/videos/video.mp4'), // 视频
// video: 'http://bosgeo.boswinner.com/demo/resource/imgs/logo.png', // 图像
});
drawHandler.drawWall({
customMaterial,
wallHeight: 50,
perPositionHeight: false
});
1.3.15. drawHandler.getDrawPrimitive(primitiveId) ⇒ Object
获取指定id的绘制图元
Kind : instance method of DrawHandler
See : drawCustomPoint
Param | Type | Description |
---|---|---|
primitiveId | String |
绘制的图层id |
1.3.16. drawHandler.flyToDrawPrimitive(primitiveId)
定位到绘制图元的矩形范围
Param | Type | Description |
---|---|---|
primitiveId | String |
绘制的图层id |
1.3.17. drawHandler.flyToBoundingSphere(primitiveId, [scalar], [offset])
定位到绘制图元的包围球范围
Param | Type | Default | Description |
---|---|---|---|
primitiveId | String |
绘制的图层id |
|
[scalar] | Number |
1 |
包围球半径的缩放尺寸 |
[offset] | HeadingPitchRange |
基于绘制对象包围球中心的偏移 |
1.3.18. drawHandler.setDrawPrimitiveVisible(primitiveId, visible)
设置绘制图元的显隐
Param | Type | Description |
---|---|---|
primitiveId | String |
绘制的图层id |
visible | Boolean |
图元是否显示 |
1.3.19. drawHandler.downloadDrawPrimitive(primitiveId)
导出绘制图元
Kind: instance method of DrawHandler
See: drawPolygonPrimitive
Param | Type | Description |
---|---|---|
primitiveId | String |
绘制的图层id |
1.3.20. drawHandler.updateDrawingOptions(options)
更新绘制时的样式(可参考对应几何对象的绘制参数,只需要更新所需样式即可)
Param | Type | Description |
---|---|---|
options | Object |
要修改的样式属性,具体可参考drawHandler中对应方法的绘制参数 |
逻辑说明
目前仅如下绘制方法可以通过该方法实时修改样式,具体可调整样式参考对应方法的参数即可
- drawEllipse
- drawEllipsoid
- drawCustomRectangle
- drawPolygonPrimitive
- drawPolylinePrimitive
- drawParabolaPrimitive
- drawCustomPoint
1.3.21. drawHandler.updateDrawerPositions(primitiveId, positions, [extrudedHeight])
更新绘制图元的坐标 (用于还原编辑操作)
Kind : instance method of DrawHandler
Param | Type | Description |
---|---|---|
primitiveId | String |
图元id |
positions | Cartesian3 | Array.<Cartesian3> |
更新后的坐标 |
[extrudedHeight] | Number |
拉伸高度(创建时有该属性才能更新,否则后续不能新增该属性值) |
Example
// 非标注更新位置
const initPoints = BOSGeo.Util.deepClone(drawPrimitive.positions);
drawHandler.updateDrawerPositions(drawPrimitive.id.id, initPoints);
// 标注更新位置
const initPosition = billboard.position.clone();
drawHandler.updateDrawerPositions(billboard.id.id, initPosition);
1.3.22. drawHandler.updateDrawerStyle(primitiveId, style, labelStyle)
更新绘制图元的样式
Kind : instance method of DrawHandler
Param | Type | Description |
---|---|---|
primitiveId | String |
|
style | Object |
图元样式 |
labelStyle | Object |
标注样式 |
labelStyle.name | String |
标注名称 |
labelStyle.pixelOffset | Cartesian2 |
标注偏移 |
Example
drawHandler.updateDrawerStyle(res.id.id, {
fillColor: '#FF0000',
width: 100,
extrudedHeight: 10000
}, {
name: '绘制对象'
});
1.3.23. drawHandler.removeDrawPrimitive(primitiveId)
删除指定id的绘制图元
Param | Type | Description |
---|---|---|
primitiveId | String |
绘制的图层id |
Example
drawHandler.removeDrawPrimitive(primitive.id.id)
1.3.24. drawHandler.clear()
清除
Example
drawHandler.clear();
1.3.25. drawHandler.removeAll()
移除所有绘制图元对象
1.3.26. drawHandler.clearAllEntity()
移除所有绘制的实体对象。(注意:若绘制结果已添加至线或面图层,则需通过对应的图层去移除)
Example
drawHandler.clearAllEntity();
1.3.27. drawHandler.cancel()
取消绘制
Example
drawHandler.cancel();
1.3.28. drawHandler.destroy()
销毁
Kind : instance method of DrawHandler