1. 功能简介
地图图层控制就是图层的相关操作,如地图图层数据的添加、删除、移动和拖拽等功能。
2. 功能实现说明
2.1. 实现思路及原理说明
第一步 |
图层添加是调用AddLayer方法将图层添加到地图中 |
第二步 |
图层删除是调用Delete方法将指定索引的图层删除 |
第三步 |
图层移动是调用MoveLayerTo方法将指定的图层移动到指定的索引位置 |
2.2 . 核心接口与方法
接口/类 |
方法/属性 |
说明 |
PIE.AxControls.MapControl
|
AddLayer |
添加图层 |
DeleteLayer |
删除图层 |
|
MoveLayer |
移动图层到指定位置 |
|
PIE.Carto.LayerFactory |
CreateDeFaultLayer |
创建默认图层 |
2.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/02.地图操作/02.地图图层控制 |
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif |
视频路径 |
百度云盘地址下/PIE视频教程/02.地图操作/02.地图图层控制.avi |
示例代码 |
|
1 /// 添加图层 2 /// </summary> 3 /// <param name="sender"></param> 4 /// <param name="e"></param> 5 private void btn_AddLayer_Click(object sender, EventArgs e) 6 { 7 //1、获取数据路径 8 OpenFileDialog openFileDialog = new OpenFileDialog(); 9 openFileDialog.Title = "加载数据"; 10 openFileDialog.Filter = "Shape(*.shp)|*.shp|RasterData(*.tiff)|*.tiff;*.tif"; 11 if (openFileDialog.ShowDialog() != DialogResult.OK) return; 12 //2、获取layer 13 ILayer layer = LayerFactory.CreateDefaultLayer(openFileDialog.FileName); 14 //3、添加图层并刷新 15 mapControlMain.ActiveView.FocusMap.AddLayer(layer, 0); 16 mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 17 } 18 /// <summary> 19 /// 删除图层 20 /// </summary> 21 /// <param name="sender"></param> 22 /// <param name="e"></param> 23 private void btn_DeleteLayer_Click(object sender, EventArgs e) 24 { 25 if (mapControlMain.FocusMap.LayerCount < 1) return; 26 //删除索引为0图层 27 ILayer layer = mapControlMain.ActiveView.FocusMap.GetLayer(0); 28 mapControlMain.ActiveView.FocusMap.DeleteLayer(layer); 29 } 30 31 /// <summary> 32 /// 移动图层 33 /// </summary> 34 /// <param name="sender"></param> 35 /// <param name="e"></param> 36 private void btn_MoveLayer_Click(object sender, EventArgs e) 37 { 38 if (mapControlMain.FocusMap.LayerCount < 2) return; 39 ILayer layer = mapControlMain.ActiveView.FocusMap.GetLayer(0); 40 mapControlMain.ActiveView.FocusMap.MoveLayer(layer,1); 41 } |
2.4. 示例截图