zoukankan      html  css  js  c++  java
  • PIE SDK地图图层控制

     

    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         }
    View Code

    2.4. 示例截图

     

  • 相关阅读:
    数值分析实验之数值积分法(java 代码)
    Python 数据处理
    Python 网络爬虫
    数据库系统开发——旅游公司机票查询及预订系统
    Python词云生成
    Python库的安装与查看
    Python词频统计
    Python程序设计训练
    Python编程基础训练
    如何在同一Linux服务器上创建多站点
  • 原文地址:https://www.cnblogs.com/PIESat/p/10242644.html
Copyright © 2011-2022 走看看