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