zoukankan      html  css  js  c++  java
  • PIE SDK元素的保存与打开

    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

    示例代码

     

     1 /// <summary>
     2 /// 面元素绘制
     3 /// </summary>
     4 /// <param name="sender"></param>
     5 /// <param name="e"></param>
     6 private void tbn_DrawElement_Click(object sender, EventArgs e)
     7 {
     8   m_Flag = 1;//m_Flag全局变量
     9 }
    10 
    11 /// <summary>
    12 /// 保存元素
    13 /// </summary>
    14 /// <param name="sender"></param>
    15 /// <param name="e"></param>
    16 private void tbn_SaveElement_Click(object sender, EventArgs e)
    17 {
    18 PIE.SystemUI.ICommand cmd = new PIE.Controls.ExportElementsCommand();
    19 cmd.OnCreate(mapControlMain);
    20 cmd.OnClick();
    21 }
    22 
    23 /// <summary>
    24 /// 打开元素
    25 /// </summary>
    26 /// <param name="sender"></param>
    27 /// <param name="e"></param>
    28 private void tbn_OpenElement_Click(object sender, EventArgs e)
    29 {
    30 PIE.SystemUI.ICommand cmd = new PIE.Controls.ImportElementsCommand();
    31 cmd.OnCreate(mapControlMain);
    32 cmd.OnClick();
    33 
    34 }
    35 /// <summary>
    36 /// 鼠标点击事件
    37 /// </summary>
    38 /// <param name="sender"></param>
    39 /// <param name="e"></param>
    40 private void mapControlMain_MouseDown(object sender, MouseEventArgs e)
    41 {
    42   if (e.Button == MouseButtons.Left)//左键
    43   {
    44     if (m_Flag == 1)
    45      {
    46   IPolygonElement polygonElement = new PolygonElement();
    47 polygonElement.Geometry = (mapControlMain.TrackRectangle()) as IGeometry;
    48 polygonElement.Symbol = PIE.Display.SystemSymbolSetting.Instance.DefaultFillSymbol;
    49   mapControlMain.ActiveView.GraphicsContainer.AddElement(polygonElement);
         mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
    51      }
    52   }
    53 }

     

    2.4.  示例截图

  • 相关阅读:
    【如何入门ACM】
    HDU
    HDU 6107 Typesetting
    bzoj 3223: Tyvj 1729 文艺平衡树
    51Nod 1781 跑的比谁都快
    51Nod 1331 狭窄的通道
    51Nod 1555 布丁怪
    hihocoder 1035 : 自驾旅行 III
    51Nod 1196 字符串的数量
    51Nod 1530 稳定方块
  • 原文地址:https://www.cnblogs.com/PIESat/p/10283830.html
Copyright © 2011-2022 走看看