1.    功能简介

专题图是突出且较完备的表示一种或几种自然或社会经济现象,从而使地图起到专门化的作用。与普通地图不同,专题图的表示内容丰富多彩,多种多样。在实际业务应用中经常会用同一张地图出很多个专题图,为此PIESDK提供了不同模板之间切换的功能。

2. 功能实现说明

2.1.切换模板

切换模板最主要的就是地图的克隆,以及地图文档的释放与加载。

2.2. 实现思路及原理说明

第一步

选择模板文件

第二步

创建一个mapDocument,并打开模板文件

第三步

克隆当前视图中的Map,并获取模板的PageLayout

第四步

调用IPageLayout的ReplaceMaps方法替换为当前地图

第五步

将IPageLayoutControl.PageLayout属性替换为新的PageLayout

第六步

释放原来的地图文档

第七步

刷新视图

2.3 . 核心接口与方法

接口/类

方法

说明

IMapDocument

Save ()

保存地图文档

IPageLayout

ReplaceMaps()

替换地图

2.4. 示例代码

项目路径

百度云盘地址下/PIE示例程序/09.专题制图//04切换模板

代码位置

FormPagelayoutDemo. barButtonItem_change_ItemClick方法

视频位置

百度云盘地址下/PIE示例程序/09.专题制图/04切换模板.avi

示例代码

  1. /// <summary>
  2. /// 切换模板
  3. /// </summary>
  4. /// <param name="sender"></param>
  5. /// <param name="e"></param>
  6. private void barButtonItem_change_ItemClick(object sender, ItemClickEventArgs e)
  7. {
  8. //1.选择模板文件
  9. OpenFileDialog openFileDialog = new OpenFileDialog();
  10. openFileDialog.Title = "请选择要打开的模板:";
  11. openFileDialog.Multiselect = false;
  12. openFileDialog.Filter = "pmd|*.pmd|All Files|*.*";
  13. if (openFileDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
  14.  
  15. string filePath = openFileDialog.FileName;
  16. string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath);
  17. //2.打开模板
  18. IMapDocument mapDocument = new MapDocument();
  19. if (!mapDocument.Open(filePath)) return;
  20.  
  21. //克隆map;
  22. IMap map = m_pageLayoutControl.FocusMap.Clone();
  23. IList<IMap> listMap = new List<IMap>();
  24. listMap.Add(map);
  25. //替换地图
  26. mapDocument.GetPageLayout().ReplaceMaps(listMap);
  27. m_pageLayoutControl.PageLayout = mapDocument.GetPageLayout();
  28. //释放地图文档
  29. ((m_pageLayoutControl as Control).Tag as IDisposable).Dispose();
  30. (m_pageLayoutControl as Control).Tag = mapDocument; m_pageLayoutControl.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
  31. }

2.5. 示例截图

PIE SDK专题制图切换模板的更多相关文章

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

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

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

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

  3. PIE SDK专题制图另存模板

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

  4. PIE SDK专题制图下地图的的操作

    1.    功能简介 制图模式和地图模式下用的地图是同一份地图,那么在制图模式下如果需要对地图进行操作(例如地图的拉框放大,缩小),那么该如何操作呢,地图范围视图变化在制图模式下该如何监听呢,下面主要 ...

  5. PIE SDK专题制图下屏幕坐标转地图坐标

    1.    功能简介 PIESDK提供了专题制图下鼠标屏幕坐标转地图坐标功能. 2. 功能实现说明 2.1屏幕坐标转地图坐标 此功能用到了IPageLayout.ToMapPoint()方法,它的主要 ...

  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 Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  8. PIE SDK导出图片

    1. 功能简介 导出图片功能可以将制图模板以及视图.绘制元素.制图元素等保存为图片.本示例程序实现了专题制图下导出图片功能. 2. 功能实现说明 2.1导出图片 2.2 实现思路及原理说明 调用IPa ...

  9. PIE SDK组件式开发综合运用示例

    1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...

随机推荐

  1. 手打的table

    突然觉得,如果我不上传源码和写篇博客,对不起花在这个破网页2个小时的时间,完全手打,浏览器调效果. 源码如下: a.html: <!DOCTYPE html PUBLIC "-//W3 ...

  2. jQuery对象与DOM对象及互相转化

    <p id=‘’hello”></p> 普通处理,通过标准JavaScript处理: var p = document.getElementById('hello'); p.i ...

  3. jquery延时刷新

    setTimeout(function(){ location.replace(location.href); },1000);

  4. Web大文件上传控件-示例更新-Xproer.HttpUploader6.2

    版权所有 2009-2016荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  5. jquery.parser.js 的 parseOptions 方法

    // target 是DOM元素 // properties 是宿主的属性 $.parser.parseOptions(target,properties); /** * parse options, ...

  6. 【Android学习】实现卡片式ListView

    效果: 主要是设置xml文件 两种状态下的item card_background.xml <?xml version="1.0" encoding="utf-8& ...

  7. 使用Boost库(1)

    如何说服你的公司.组织使用Boost库 one of the most highly regarded and expertly designed C++ library projects in th ...

  8. linux系统下ipmitool添加BMC帐号密码

    需求:已知BMC帐号id2为root管理员帐号,添加id5bmc帐号 工具:ipmitool version 1.8.14 系统:CentOS release 6.6 (Final) 1,通过yum安 ...

  9. C# LINQ(5)

    目前都是说的单数据差距,如果多数据进行查询LINQ该如何呢? 那么LINQ就应该使用关键字 join on equals 现有代码: static void Main(string[] args) { ...

  10. git配置本地环境(phpstudy/tortoisegit/git等)

    1.下载安装phpstudy 2.下载安装git 下载地址:https://git-scm.com/downloads 3.下载安装tortoisegit,电脑64位就下载这个,如图: 4.下载安装“ ...