SuperMap iObjects .NET 11i 控件使用指南
下面将详细介绍如何使用 LayersControl 类打开图层管理器。
- 首先,在 Microsoft Visual Studio 中新建一个 Windows 窗体应用程序类型的项目,操作如下图所示:
- 添加引用,即添加程序运行所依赖的程序集:SuperMap.Data.dll、SuperMap.UI.Controls.dll、SuperMap.Mapping、SuperMap.Realspace。
- 其次,在工具箱中,选中 SuperMap 提供的 LayersControl 控件,然后,在 Form1 窗体上绘制大小范围适当的 LayersControl 控件,并且设置该控件的名称(name)为 :layersControl。
要使图层管理器可以呈现地图或者场景中的图层,以及要使用图层管理器所提供的界面交互功能进行图层管理,必须将图层管理器与地图或者场景进行关联。
一个图层管理器当前只能关联一个地图或者一个场景。图层管理器与地图关联,是通过 LayersControl.Map 属性进行设置的,为图层管理器指定一个地图,那么,图层管理器就可以呈现和管理该地图中的图层;图层管理器与场景关联,是通过 LayersControl.Scene 属性进行设置的,为图层管理器指定一个场景,那么,图层管理器就可以呈现和管理该场景中的图层。
- 继续上面的操作,双击 Form1 窗体,进入代码视图,添加如下图所示的 using 语句。
- 如果为图层管理器关联一个地图,使其管理地图图层,则在 Form1_Load 函数中添加如下代码。下面的代码将示范数据中的 World.smwu 工作空间中的一个地图关联到图层管理器。
Copy
// 打开工作空间 World.smwu,并取出工作空间中的第一幅地图
WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(
@"..\SampleData\World\World.smwu");
Workspace workspace = new Workspace();
workspace.Open(workspaceConnectionInfo);
Map map = new Map();
map.Workspace = workspace;
map.Open(workspace.Maps[0]);
// 将地图关联到图层管理器,使其管理其中的地图图层
layersControl.Map = map;
Copy
// 新建一个场景,向场景中添加一个 KML 图层
Scene scene = new Scene();
scene.Layers.Add(
@"..\SampleData\OlympicGreen\OlympicGreen.kml",
Layer3DType.KML, true);
// 将场景关联到图层管理器,使其管理其中的图层
layersControl.Scene = scene;
- 运行应用程序,结果如下所示,左图的图层管理器中管理的是地图图层;右图的图层管理器中管理的是场景中的图层。