SuperMap iClient for 3D 相关知识点

来源:互联网 发布:吉利知豆电动车官网 编辑:程序博客网 时间:2024/06/05 23:53

1、用图标符号化三维几何点对象

在图层的style3D中设置markerFile属性,获取或设置三维点几何对象图标的所在服务器路径。该属性只支持 bmp, png, jpg 图片格式的文件。其中服务器路径要放到Iserver根目录下面。如http://ip:8090/images/xx.png。

2、在SuperMap iClient for 3D中,如何在场景中查找指定ID的Feature3D并且隐藏。

使用layer3D.findFeature3DByID()方法找到feature3D对象,设置对象的isVisible属性即可

3、Geotext3D对象高度调节

通过设置altitudeMode和bottomAltitude属性实现

function addtextTest() 

var point3d = new SuperMap.Web.Core.Point3D(108.9887305555556,34.187125,0); 
var text = new SuperMap.Web.Core.TextPart3D(“测试点”,point3d); 
var geotext = new SuperMap.Web.Core.GeoText3D([text]); 
geotext.set_position(point3d); 
var style=new SuperMap.Web.Core.Style3D(); 
style.set_bottomAltitude(50); 
style.set_altitudeMode(SuperMap.Web.Realspace.AltitudeMode.ABSOLUTE); 
var feature3d = new SuperMap.Web.Core.Feature3D(); 
feature3d.set_geometry(geotext); 
feature3d.set_style3D(style); 
trackingLayer3D.add(feature3d, ‘text’); 
}

4、SuperMap iClient for 3D客户端不支持三维通视分析。

5、feature3D设置自定义属性:feature3D.set_attributes(point);其中point可以是单个string也可以是json对象。

6、3D中自定义鼠标事件,通过hitTest获取feature3D对象。

 var select = scene.get_trackingLayer3D().hitTest(point);         if(select){        var ggeom = select.get_geometry(); var name=select.get_name();
//通过判断name找到对应的自定义feature3Dif(name=="smid"){var point3D = new SuperMap.Web.Core.Point3D(ggeom._innerGeometry.InnerPoint.X, ggeom._innerGeometry.InnerPoint.Y, 1080);    var attributes=select._attributes;//获取自定义属性var descname=attributes.desc;    descname=descname.slice(0,descname.length-1);//截取字符串infoPage = "xx.html?desc="+descname+"&reportTime="+attributes.reportTime+"&caseId="+attributes.id+"&caseState="+attributes.statecach;//URL传值给BubblecreateBubble(point3D,"");}        }



0 0