向三维图层集合中添加Model、KML、Map或ImageFile 类型的三维图层。
命名空间:
SuperMap.Realspace程序集: SuperMap.Realspace (in SuperMap.Realspace)
版本: dll
语法
C# |
---|
public Layer3D Add( string dataName, Layer3DType layerType, bool addToHead ) |
参数
- dataName
- Type: System..::.String
Model、KML、Map或ImageFile类型图层所对应的数据全路径。
- layerType
- Type: SuperMap.Realspace..::.Layer3DType
图层的类型。如果添加的数据名称与图层类型不匹配,则添加失败。
- addToHead
- Type: System..::.Boolean
是否将新添加的三维图层加到最上面。
返回值
三维图层对象。示例
以下代码示范了填加KML图层到三维场景窗口,同时向该图层中填加三维几何对象。
假设已经存在一个KML文件(kml.kml)。
CopyC#
public void Layer3DsAdd(Scene sceneObject) { //构造一个圆锥体几何对象 Point3D point3D = new Point3D(102, 31, 0); GeoCone geoCone = new GeoCone(point3D, 800, 800); //将构建好的圆锥体几何对象以三维地标几何对象的形式填加到KML图层中 GeoModel geoModel = geoCone.GetGeoModel(80, 80); GeoPlacemark geoPlacemark = new GeoPlacemark("圆锥体", geoModel); Layer3D layer3DKML = sceneObject.Layers.Add("D:\\SampleData\\kml.kml", Layer3DType.KML, true); layer3DKML.Features.Add(geoPlacemark); //对三维地图场景进行倾斜 sceneObject.Pitch(30); //对三维场景进行平移 sceneObject.Pan(1000, 1000); //根据指定的飞行模式,飞行到目标对象 sceneObject.Fly(geoPlacemark, FlyingMode.FlyingTo); sceneObject.Refresh(); }