如图,插件要实现在三维场景上显示一层带有透明度的图层,该如何实现?能否说下怎么添加与设置透明度?
或者说,添加rest地图时是否能设置底部高程,将地图显示在模型场景上方?是否只能添加到场景中才能设置?
您好,图层的相关接口直接参考帮助手册,Layer3D 类。
可找到一个属性,
function get_transparentColor() : Color function set_transparentColor(value : Color)
还有一个获取或设置透明色容限,容限范围是(0~255)。
function get_transparentColorTolerance() : Number function set_transparentColorTolerance(value : Number)。
高度模式通过
layer.Style3D.altitudeMode,选择绝对高度
layer.Style3D.bottomAltitude 设置底部高程。注意写法,获取是get_ 设置是 set_...
添加地图以后场景刷新,然后地形消失了,地图也没有显示出来,是怎么回事?
同时设置高程时出现下面问题
建议您先new一个style3d
然后再赋值,如下:
//获取指定图层的信息 var layer3DServiceInfo = layer3DServicesList.get_item("buildings@RealspaceSample"); //构造一个Style3D对象 var style3D = new SuperMap.Web.Core.Style3D(); //获取图层的风格信息 style3D = layer3DServiceInfo.get_style3D(); //加载图层默认的风格 layer3Ds.get_item("buildings@RealspaceSample").set_style3D(style3D); scene.refresh();
范例参考:
file:///D:/Program Files/SuperMap/supermap_iserver_8.1.0_win64_zip/iClient/for3D/plugin/samplecode/samplecode/samples/SceneView3D/VectorStyle.html
layer3DServiceInfo为空,layer3D add 添加的不在场景中所以找不到吗?还是其他什么原因呢,
说明没获取到这个图层。
您再看看呢,可以参考一下范例:
SuperMap/supermap_iserver_8.1.0_win64_zip/iClient/for3D/plugin/samplecode/samplecode/samples/SceneView3D/VectorStyle.html