在PIE SDK中,全部的制图元素、视图范围以及排版等均可以保存成一个模板,以供屡次重复使用。使用时只须要打开该模板,加载相应数据,就能够直接出图了,省去了重复制做图幅的麻烦,方便快捷。ide
每一个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件。spa
[模板文件] [植被指数模板]3d
在PIE中,每一个显示的地图都是一个地图文档(PmdContents),它能够保存为*.pmd文件。用IMapDocument接口的Open方法能够直接打开地图文档。另外咱们还能够从地图文档中得到制图对象。code
2.2 实现思路及原理说明orm
第一步视频 |
选择模板文件对象 |
第二步blog |
建立一个mapDocument,并打开(open)模板文件教程 |
第三步接口 |
调用IPageLayoutControl的LoadPmdFile方法 |
第四步 |
刷新视图 |
接口/类 |
方法 |
说明 |
MapDocument |
Open () |
打开一个地图文档 |
IPageLayoutControl |
LoadPmdFile() |
加载地图文档 |
项目路径 |
百度云盘地址下/PIE示例程序/09.专题制图/01打开模板 |
代码位置 |
FormPagelayoutDemo. barButtonItem_Open_ItemClick方法 |
视频路径 |
百度云盘地址下/PIE视频教程/09.专题制图/01打开模板.avi |
示例代码 |
|
![]() 1 /// <summary> 2 /// 打开模板 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void barButtonItem_Open_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 //3 load 21 m_pageLayoutControl.LoadPmdFile(filePath); 22 (m_pageLayoutControl as Control).Tag = mapDocument; 23 //4.刷新视图 m_pageLayoutControl.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 24 } |