1、功能简介

绘制元素之后需要对元素进一步的保存操作,可以利用PIE SDK的ExportElementsCommand命令保存成xml格式的文件,打开元素可以利用ImportElementsCommand命令将保存的xml文件导入带地图中。调用简单易于实现。

2、功能实现说

2.1. 实现思路及原理说明

第一步

New对应的保存和打开元素的命令函数

第二步

创建插件对象OnCreate()

第三步

调用ICommand的OnClick()

2.2. 核心接口与方法

接口/类

方法

说明

PIE.Controls

ExportElementsCommand

导出元素

ImportElementsCommand

导入元素

PIE.SysUI.ICommand

OnCreate

创建插件对象

OnClick

点击事件

2.3.  示例代码

项目路径

百度云盘地址下/PIE示例程序/ 08元素绘制/09元素的保存和打开

视频路径

百度云盘地址下/PIE视频教程/08元素绘制/09元素的保存和打开.avi

示例代码

 /// <summary>
/// 面元素绘制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tbn_DrawElement_Click(object sender, EventArgs e)
{
m_Flag = ;//m_Flag全局变量
} /// <summary>
/// 保存元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tbn_SaveElement_Click(object sender, EventArgs e)
{
PIE.SystemUI.ICommand cmd = new PIE.Controls.ExportElementsCommand();
cmd.OnCreate(mapControlMain);
cmd.OnClick();
} /// <summary>
/// 打开元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tbn_OpenElement_Click(object sender, EventArgs e)
{
PIE.SystemUI.ICommand cmd = new PIE.Controls.ImportElementsCommand();
cmd.OnCreate(mapControlMain);
cmd.OnClick(); }
/// <summary>
/// 鼠标点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void mapControlMain_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)//左键
{
if (m_Flag == )
{
IPolygonElement polygonElement = new PolygonElement();
polygonElement.Geometry = (mapControlMain.TrackRectangle()) as IGeometry;
polygonElement.Symbol = PIE.Display.SystemSymbolSetting.Instance.DefaultFillSymbol;
mapControlMain.ActiveView.GraphicsContainer.AddElement(polygonElement);
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
52 }
}

2.4.  示例截图

PIE SDK元素的保存与打开的更多相关文章

  1. PIE SDK专题制图保存模板

    1.    功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用模板时只需要打开该模板,加载相应数据,就可以直接出图,省去了重复制作图幅的麻烦, ...

  2. PIE SDK元素事件的监听

    1功能简介 元素在操作的过程中,如添加,删除,选中等操作都需要有事件的监听,PIE SDK支持对元素操作事件的监听,下面对元素事件的监听进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一 ...

  3. PIE SDK元素的删除

    1功能简介 元素删除是将根据需求将不符合的元素进行删除,PIE SDK支持元素的删除操作,下面对元素的删除功能进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一步 获取已经选择的元素 第 ...

  4. PIE SDK元素的选择和取消选择

    1功能简介 在数据的查看等时候会用到元素的选择, 目前PIE SDK支持元素的选择和去取消选择功能,下面对这两种功能如何使用进行介绍. 2功能实现说明 2.1元素的选择 2.1.1 实现思路及原理说明 ...

  5. PIE SDK元素位置和显示样式的修改

    1功能简介 在数据的处理中会出现根据需求进行元素的位置和显示样式的修改,使元素的形状,空间位置得到改变,下面将介绍基于PIE SDK的元素位置和显示样式的修改. 2功能实现说明 2.1.1 实现思路及 ...

  6. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  7. PIE SDK专题制图打开模板

    1.    功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用时只需要打开该模板,加载相应数据,就可以直接出图了,省去了重复制作图幅的麻烦,方 ...

  8. PIE SDK打开网络地图数据

    1. 数据介绍 网络地图数据是在线地图服务发布出来的数据,其支持数据的网络查看和传输,极大的促进了GIS的发展. 目前PIE SDK支持百度地图.谷歌地图.高德地图.天地图.Bing地图.ArcGIS ...

  9. PIE SDK点元素的绘制

    1. 功能简介 在数据的处理中会用到点元素的绘制,目前PIE SDK支持IMarkerSymbol的点元素的绘制,MarkerSymbol对象是用于修饰点状对象的符号,它包括ArrowMarkerSy ...

随机推荐

  1. c# 获取非托管指针长度

    public List<string> GetPDFValues() { List<string> strs = new List<string>(); unsaf ...

  2. jQuery提供的存储接口

    jQuery.data( element, key, value ) //静态接口,存数据jQuery.data( element, key ) //静态接口,取数据 .data( key, valu ...

  3. 基于HTML5 Ajax文件上传进度条如何实现(jquery版本)

    <!DOCTYPE html> <html> <head> <title>html5_2.html</title> <meta htt ...

  4. Android Studio2.3更换默认的ConstraintLayout布局

    1.在as安装目录\plugins\Android\lib\templates\activities\common\root\res\layout下,找到simple.xml.ftl文件 2.用以下布 ...

  5. HackThirteen 在onCreate()方法中获取View的宽度和高度

    1.概要:     Android源代码中很多模块都使用了post()方法,深入理解框架曾运行机制对于避开类似于本例中的小陷阱是很重要的 2.问题提出:     如果开发一些依赖于UI控件的宽和高的功 ...

  6. 最小生成树(kruscal算法)

    其实kruscal算法很简单,把边从小到大排一遍,如果加入此边形成环,就不加,知道这棵树有n-1条边. 代码如下(一定要理解): #include<iostream> #include&l ...

  7. centos7 yum安装配置redis

    1.设置Redis的仓库地址 yum install epel-release 2.安装redis yum install redis 修改配置文件,监听所有的IP地址 vim /etc/redis. ...

  8. 二、为什么要选用pytest以及 pytest与unittest比较

    为什么要选择pytest,我看中的如下: 写case,不需要像unittest那样,创建测试类,继承unittest.TestCase pytest中的fixture(类似于setUp.tearDow ...

  9. docker加速器配置

    我使用docker的原因 最近自己一直在强迫自己使用docker,一方面是docker的容器化服务,使得每一个配置相互独立,易于维护.而且如果到后面如果深入了的话,通过自己编写dockerfile,那 ...

  10. PHP将数据库数据批量生成word文档

    <?php    class word{         function start(){            ob_start();            echo '<html x ...