PIE for NET SDK二次开发文档.docx

上传人:牧羊曲112 文档编号:4887676 上传时间:2023-05-21 格式:DOCX 页数:8 大小:105.09KB
返回 下载 相关 举报
PIE for NET SDK二次开发文档.docx_第1页
第1页 / 共8页
PIE for NET SDK二次开发文档.docx_第2页
第2页 / 共8页
PIE for NET SDK二次开发文档.docx_第3页
第3页 / 共8页
PIE for NET SDK二次开发文档.docx_第4页
第4页 / 共8页
PIE for NET SDK二次开发文档.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《PIE for NET SDK二次开发文档.docx》由会员分享,可在线阅读,更多相关《PIE for NET SDK二次开发文档.docx(8页珍藏版)》请在三一办公上搜索。

1、PIE.NET-SDK组件式二次开发文档一、PIE.Net开发环境及目录说明1. 开发环境 确保Win7系统已安装SP1 安装 Visual Studio2013 (支持 VS2010/2012/2013/2015) 安装PIESDK.exe二次开发包2. 【SDK】安装后目录说明山 Bin2017/2/151517文件表山 Config2017/2/151&:1S文仲夫Jt Data2017/2/1515:17文件夹iH Document2017/2/1515:17划供Language2017/2/1515:17文件无2017/2/15 1517 文件夫X S-ainple2017/2/15

2、15:17文件支席 S-tyle2017/2/1515117文件关Template2017/2/1515:17文彳犊1) Bin开发包2) Config 配置文件3) Data 坐标系投影及数据映射表4) Document 帮助文件5) Language 语言国际化6) Res按钮图标及鼠标Cursor样式7) Sample 实例文件8) Style 符号库文件9) Template制 图模板二、PIE.NET_SDK二次开发实例Tool(工具插件):适用于与地图或制图组件有交互的插件,只需继承自BaseTool(继 承自BaseCommand),根据功能需要可重写OnMouseDown、On

3、MouseMove等方法,如:拉 框放大、探针、画多边形等。Command(命令插件):与地图无交互,只需继承自BaseCommand,重写OnClick方 法,如:全图、居中放大、前一视图等。L WinFormaa(1)swvMuslcttswindows #msMp 济娥哗w 皿。济娥X芷药: 琶 部 mvsmlAr.宇圣% OH+5 手次 1JS13E Orli-FwfsN-空IDiaw:*iMsB JusWFs鼻寇mliQlolsnw!必 J加。饕翎?1 W部?1 !:L亶Qim?学土 3tes* 0sn_-flwaT- QOLn-E噂rE XAF L-号csiRhEl专舌hLWCFw

4、arkROW-I- -1占至,泛 Bofc*2E&7m-IL4kTmmphbeD昏=-:YkE 是 &RI-all-yslia 田雷-# he 度tf-,富4#e ASF “希 T w*a-ct.Kt.=ilftl端 mf wr ni 罔即阑-JI 蚣一圭_言|:町通阉蜀i.s 冬吕gIH_3r 埔一r-1廿隅r1fbn* 息 0:曳UE!一 s 胡*aaJI-芸w-晶TI-PMn 男 rl-t w rs-fc R R R R 2I?(2)设置Debug和Release环境,新建选择x86平台。(3)配置 PIE.NET_SDK:在 M叩Manager.csproj 的同级目录下新建 “APP

5、Debug应用程亨生5E生EOT牛映iEBOQi .活剥D晶11珀二J 平告(Mb 居gfi&J=文件夹,修改生成输出路径位置为./ APPDebug/Bin。引* 土 E:.晦弓拜囹径=.发布?:DEBUG 以呈1项 戮 riy.cE san目际平面:.KBCt苣云22技哩口允忧化代的SSflKS -巨军淌m4禁止显示警告制:.*.而回点砖仙盛出-Si出踏程回:I APPDebugBlnJ I就知瓦i” XML亦女料|11 com M3R作注flflic;瑚溜维性国(4)代码编写A:H具箱里MapControl、TOCControl控件拖拽绑定添加窗体,初始化绑定MapControl、TOC

6、Control控件代码: tocControll.SetBuddyControl(mapControll);窗体运行显示如下:B:选择工程引用,根据自己开发的插件功能需求进行选择,浏览本机已经安装 位置的心目录下添加类库,单击确定即可。C:调用以地图拉框放大(Too 1)和全图(Command)为例/ /拉框放大/ / / private void too1StripButton_MapZoomIn_C1ick(object sender, EventArgs e) (ITool tool = new MapZoomInTool();ICommand command = tool as ICo

7、mmand;command.OnCreate(mapControl1);mapControl1.CurrentTool = tool;/ /全图/ / / private void toolStripButton_FullExtent_Click(object sender, EventArgs e)(ICommand cmd = new FullExtentCommand();cmd.OnCreate(mapControl1);cmd.OnClick();2.插件代码实现新建插件-cs类以地图拉框放大(Tool)为例naw spaceI /f/ Dno/TV i个引用ppblit C13$r

8、 Oh : b -e?c 1EH变星走义QqrTTm|.pubLic oveiTide void OnJiDusciDcvrLsendecj Syst cm. WindoupsFqz*sb ItoureEi.-cntrs-E:P?7 auMascjM,T:引用public HMJ&Om I 构造函教iQ个引用 publicveid OriCLieh以全图显示(C ommand)为例public class FullEnt ent : BaseCannand(private lAcilvbVlbw m_Activeiev = null;/ 括山nia可/ 目ijjuvaryth姑一初f白=围瘢/

9、 ;thia-Kane = J MaDFullEtent;I】- -忘酿迎陌this.Checked.二 false;thia-Enabled - false;/ / / / 1,/si-LTUiaiT/par an?八”I庄3iinuiary/皱僦./aiuuiaryM fl| public avemde void iDriLlick QJ 1if i; 11 hi * Enabled) return.: lEnvelope currentExtent = n_Act Li7eViewa FullExtent.i (currentEKtsfLt = null | | (cut:&ntExts

10、rit as Iteunelry) a IsVslidO 二二 false) r&tijm;n_Ad ivei ehj. Ext ent = cur r ent Ezl ent;iveViev. P:artialEef rash (YievDrawPhaselpe, VievALLj ;构造函数中的定义可个性化定制,控制实际的显示名称、提示和图片(m_Image),鼠 标样式放置在构造函数里设置,如鼠标事件里需要改变鼠标样式,再在鼠标事件里控制即可。(1)构造函数public ZoomIn()(this.Caption =拉框放大;this.Name = MapZoomln;this.Tool

11、Tip =拉框放大地图;(Caption 属性)(名称)(提示)this.Checked = false;(插件是否选择)this.Enabled = false;(插件是否可用)(鼠标样式在构造函数)this.Cursor = new Cursor(new System.IO.MemoryStream(Properties.Resources.Zoomln);(2) 创建插件对象public override void OnCreate(object hook) (base.OnCreate(hook);m_ActiveView = m_HookHelper.ActiveView;(当前激活

12、视图获取)(3) 单击方法public override void OnClick()(if (!this.Enabled) return;(4) 鼠标事件以拉框放大为例:鼠标按下时获取拉框,并给地图设置范围变化、刷新。/ /鼠标按下/ / 触发对象/ 鼠标事件参数 public override void OnMouseDown(object sender, System.Windows.Forms.MouseEventArgs e)(if (e.Button != System.Windows.Forms.MouseButtons.Left) return;判断左键m_ActiveView.Extent = (m_HookHelper.GetContent() as IMapControl).TrackRectangle();m_ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号