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

示例代码

          /// <summary>
/// 切换模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void barButtonItem_change_ItemClick(object sender, ItemClickEventArgs e)
{
//1.选择模板文件
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Title = "请选择要打开的模板:";
openFileDialog.Multiselect = false;
openFileDialog.Filter = "pmd|*.pmd|All Files|*.*";
if (openFileDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; string filePath = openFileDialog.FileName;
string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath);
//2.打开模板
IMapDocument mapDocument = new MapDocument();
if (!mapDocument.Open(filePath)) return; //克隆map;
IMap map = m_pageLayoutControl.FocusMap.Clone();
IList<IMap> listMap = new List<IMap>();
listMap.Add(map);
//替换地图
mapDocument.GetPageLayout().ReplaceMaps(listMap);
m_pageLayoutControl.PageLayout = mapDocument.GetPageLayout();
//释放地图文档
((m_pageLayoutControl as Control).Tag as IDisposable).Dispose();
(m_pageLayoutControl as Control).Tag = mapDocument; m_pageLayoutControl.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

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. does not name a type

    一般都与头文件有关 1.缺少using namespaces std: 2.头文件的地方不对. 3.加错了头文件,还会出现内部函数库的报错.有的函数被多个函数库包含

  2. Win7怎么进入安全模式 三种轻松进入Win7安全模式方法

    发布时间:2013-05-27 11:23 作者:电脑百事网原创 来源:www.pc841.com 13783次阅读 win7的安全模式和XP如出一辙,在安全模式里我们可以删除顽固文件.查杀病毒.解除 ...

  3. POJ2513 Colored Sticks(Trie+欧拉回路)

    Description You are given a bunch of wooden sticks. Each endpoint of each stick is colored with some ...

  4. Extjs Hello extjs

    <html > <head runat="server"> <title></title> <link rel="s ...

  5. Oracle累计函数

    今天遇到一个客户的报表需求,在shipment的报表中要查看该shipment中的每个PO的采购数量,当前shipment的出货数量以及累计的所有出货数量. 要有累计的出货数,并且是要有顺序的累计出货 ...

  6. 巧用Scrum与Kanban

    本文来自网易云社区 文\屈鹏飞 在互联网行业的项目管理实践中,敏捷和精益一直是大家所提倡的思想,其中Scrum和Kanban方法作为即敏捷又精益的典型代表,许多PM都在研究,笔者近期也在学习和实施Sc ...

  7. python-循环(while循环、for循环)

    循环:循环会重复执行循环体里面的代码,python中循环可分为while循环和for循环. break 不管循环有没有完成,立即结束循环 continue 结束本次循环,继续进行下一次循环 一.whi ...

  8. Jmeter_Beanshell_使用Java处理JSON块

    版权声明:本文为博主原创文章,转载请注明出处. [环境] ①Jmeter版本:3.2,JDK:1.8 ②前置条件:将json.jar包置于..\apache-jmeter-3.2\lib\下,并将该j ...

  9. 【AGC010F】Tree Game 博弈论+暴力

    Description ​ 有一棵nn个节点的树,第ii条边连接ai,biai,bi,每个节点ii上有AiAi个石子,高桥君和青木君将在树上玩游戏 ​ 首先,高桥君会选一个节点并在上面放一个棋子,然后 ...

  10. 运行Scrapy工程,报错ModuleNotFoundError: No module named 'win32api'解决方法

    1.运行爬虫scrapy crawl name,报错ScrpyModuleNotFoundError: No module named 'win32api' 2.解决方法: 在https://gith ...