插件如何实现如下的场景

0 投票

如图,插件要实现在三维场景上显示一层带有透明度的图层,该如何实现?能否说下怎么添加与设置透明度?

或者说,添加rest地图时是否能设置底部高程,将地图显示在模型场景上方?是否只能添加到场景中才能设置?

12月 23, 2016 分类:  1434次浏览 | 用户: zrdx 初出茅庐 (82 分)

1个回答

0 投票
 
已采纳

您好,图层的相关接口直接参考帮助手册,Layer3D 类。

可找到一个属性,

transparentColor获取或设置透明色。 
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_...
12月 23, 2016 用户: 邹涛 名扬四海 (3,389 分)
采纳于 12月 23, 2016 用户:zrdx

添加地图以后场景刷新,然后地形消失了,地图也没有显示出来,是怎么回事?

同时设置高程时出现下面问题

建议您先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

找到问题了,是场景中没有矢量图所以找不到,谢谢您
...