版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PIE.NET-SDK組件式二次開發(fā)文檔一、PIE.Net開發(fā)環(huán)境及目錄說明.開發(fā)環(huán)境確保Win7系統(tǒng)已安裝SP1安裝VisualStudio2013(支持VS2010/2012/2013/2015)安裝PIESDK.exe二次開發(fā)包.【SDK】安裝后目錄說明謁Bin 2017/2/151517 文彳帙上Config 2017/2/151&:1S 文彳帙JtDats 2017/2/1515:17 文彳日討Document 2017/2/1515:17 文ULanguage 2017/2/1515:17 文件矢謁? 2017/2/151517文件夾XS-ainple 2017/2/1515:17 文件失S-tyle 2017/2/1515117 文彳日Template 2017/2/1515:17 文《牧Bin>>開發(fā)包Config>^m置文件Data>>坐標(biāo)系投影及數(shù)據(jù)映射表Document>>幫助文件Language〉〉語言國際化6)區(qū)6$>>按鈕圖標(biāo)及鼠標(biāo)Cursor樣式Sample>>實(shí)例文件Style>>符號庫文件Template>>制圖模板二、PIE.NET_SDK二次開發(fā)實(shí)例Tool(工具插件):適用于與地圖或制圖組件有交互的插件,只需繼承自BaseTool(繼承自BaseCommand),根據(jù)功能需要可重寫OnMouseDown、OnMouseMove等方法,如:拉框放大、探針、畫多邊形等。Command(命令插件):與地圖無交互,只需繼承自BaseCommand,重寫OnClick方法,如:全圖、居中放大、前一視圖等。
1.WinForm插件調(diào)用(1)新建VisualC#的Windows窗體應(yīng)用程序,選擇新建一項(xiàng)目,選擇VisualC#的Windows窗體應(yīng)用程序,設(shè)置.NetFramework4以及工程名稱“MapManager”和位置?!鋈フ胰玑?工he◎閏加明.叵圉魏冢白m-?左伯凡一隊(duì)戛?巴品的*?目趙臣:身 降墨增慍■三去找如岫 工he◎閏加明.叵圉魏冢白m-?左伯凡一隊(duì)戛?巴品的*?目趙臣:身 降墨增慍0 分tfiMOtfhKMg豳出*岫-柳&QiSProjifiakVikublCttTytfeScnpthOevE>p*^55i?1suflJC*卜OhEalws;4翌3Ndsk?"rESB士?藉uid3iiie■M3匚?^nda^fi*Web*ClHicr^hsr^oirt□cud口eE卡「■.?XAFLights闔認(rèn)hSirtflightWCFWarkPow?帆ftiETEE*0M -、曲疼:KU-1DfiE^ftss-il4-.ZTemplate-Qdlerp]nGudo*ii&國圭用陛*印weight班!!t旺I IM:巳立I峭&ClH-El aTYku.lE*'奧疝泳間口用于eiSANwinds■■西apan附VriualC* 應(yīng)用網(wǎng)鈍為回YkuHC*YkudlC*VfauHC*VisualC*VisualC*VbufilC*VisualC*坨uMC*,I,Iafl四“13xf興方工割客口助變?口犀*aa訊超期功(2)設(shè)置Debug和Release環(huán)境,新建選擇x86平臺。(3)配置PIE.NET_SDK:在MapManager.csproj的同級目錄下新建“APPDebug文件夾,修改生成輸出路徑位置為../APPDebug/Bin。應(yīng)用程序生成iEBOQi應(yīng)用程序生成iEBOQi1活動(口乩珊 「J平你Mb隹就壯時(shí) 二J生生M件蜘行更設(shè)5弓庠密度客名^=.發(fā)布代碼分新砌一雜凝/X:期:DEBUG炫是1U?走宜TltACEsan目除下=?: KBC ▼□苜應(yīng)22te0[□允許不安全儂[D優(yōu)化除CDSSflKS-香舉^:聞: 4 ▼祟止顯不譽(yù)曾留:得H百粒先片星0費(fèi)口?百弟JJ;玷出-殘出都經(jīng)曲: IAPPDebug\BlnJI 就颯i,.□XML蚱皆4兇; |1~1為COM可愛作注冊K;I目前(4)代碼編寫A:工具箱里MapControl、TOCControl控件拖拽綁定添加窗體,初始化綁定MapControl、TOCControl控件代碼:tocControll.SetBuddyControl(mapControll);窗體運(yùn)行顯示如下:
■4:>B:選擇工程引用,根據(jù)自己開發(fā)的插件功能需求進(jìn)行選擇,瀏覽本機(jī)已經(jīng)安裝位置的【8也】目錄下添加類庫,單擊確定即可。C:調(diào)用以地圖拉框放大(Tool)和全圖(Command)為例///<summary>///拉框放大///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidtoolStripButton_MapZoomIn_Click(objectsender,EventArgse)(ITooltool=newMapZoomInTool();ICommandcommand=toolasICommand;command.OnCreate(mapControl1);mapControl1.CurrentTool=tool;)///<summary>///全圖///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidtoolStripButton_FullExtent_Click(objectsender,EventArgse)(ICommandcmd=newFullExtentCommand();cmd.OnCreate(mapControl1);
cmd.OnClick();)2.插件代碼實(shí)現(xiàn)新建插件,cs類以地圖拉框放大(Tool)為例nauspansPEESDK^Taat(/"RiMJtarY》///DnoCAmwuo)i個(gè)郭用public Dfr.::B口1{匡劇變量定義QqrTTm | ■3£1_1?!3寸〉■??p/7^suma^j】。彳"1用口」?工皂3£1_1?!3寸〉■??p/7^suma^j】。彳"1用口」?工皂eo_v占pu-bLicoveiTidevoid 口uwoDcvnt-bjgc?sendecjSystcm.Windoups^For*sBItaureE^cnt^rj-E:以全圖顯示(Command)為例publicclassFullEntent:BaseCannand■(privatelAcilvbVibwm^_Active¥iev=null;///也unoia仃}///4/口wioiiary》th運(yùn)一「如一 ="急用就近”;thia-Hane=JMaDFullEitent;I1 -《血感感this.Checksd工false;thia-Enabled-false;/〃///////〃//////1「,足熊埴井“區(qū)里VsiiruiaxT/<paraiinanB="hook"></parsn?八?mI中^^[口由1代口胃女工ide刀口idOrC工加bjecth口口與)|■二///<3uriLnary////5iuuiary>M6一?||publicavemdevoidiDriLlickQ」1if('thiSrEnabled)return.:lEnvelopecurrentExtent=n_ActLi7eViewaFullExtent.i±(currentEKtsfLt=null||(cut;&ntExtsritasIteunelry)aIsVslidO工工false)r&tijm;n_Adive¥iehj.Extent=currentEzlent;iveViev.P:artialEefrash(YievDrawPhasel\pe,VievALLj;構(gòu)造函數(shù)中的定義可個(gè)性化定制,控制實(shí)際的顯示名稱、提示和圖片(m_Image),鼠標(biāo)樣式放置在構(gòu)造函數(shù)里設(shè)置,如鼠標(biāo)事件里需要改變鼠標(biāo)樣式,再在鼠標(biāo)事件里控制即可。(1)構(gòu)造函數(shù)publicZoomIn()(this.Caption="(this.Caption="拉框放大";this.Name="MapZoomln";this.ToolTip="拉框放大地圖";(Caption屬性)(名稱)(提示)this.Checked=false; (插件是否選擇)this.Enabled=false; (插件是否可用) (鼠標(biāo)樣式在構(gòu)造函數(shù))this.Cursor=newCursor(newSystem.IO.MemoryStream(Properties.Resources.Zoomln));)(2)創(chuàng)建插件對象publicoverridevoidOnCreate(objecthook)(base.OnCreate(hook);m_ActiveView=m_HookHelper.ActiveView; (當(dāng)前激活視圖獲取))(3)單擊方法publicoverridevoidOnClick()(if(!this.Enabled)return;)(4)鼠標(biāo)事件以拉框放大為例:鼠標(biāo)按下時(shí)獲取拉框,并給地圖設(shè)置范圍變化、刷新。///<summary>///鼠標(biāo)按下///</summary>///<paramname="sender”>觸發(fā)對象</param>///<paramname="e">鼠標(biāo)事件參數(shù)</param>publicoverridevoidOnMouseDown(objectsender,System.Windows.Forms.Mo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能化窗戶安裝與維護(hù)安全協(xié)議書4篇
- 2025年度災(zāi)害預(yù)防慈善捐贈執(zhí)行合同范本4篇
- 二零二五版旅行社環(huán)保旅游推廣合作框架協(xié)議3篇
- 二零二五年度櫥柜安裝及家居安全檢測合同4篇
- 工業(yè)互聯(lián)網(wǎng)平臺核心技術(shù)與創(chuàng)新發(fā)展方案
- 2025年度個(gè)人綠色消費(fèi)貸款展期服務(wù)合同4篇
- 小學(xué)數(shù)學(xué)課堂中的合作學(xué)習(xí)與互動實(shí)踐
- 職場安全教育如何保護(hù)老年員工的財(cái)產(chǎn)安全
- 二零二五年度房地產(chǎn)項(xiàng)目采購人員廉潔行為規(guī)范3篇
- 2025年度個(gè)人吊車租賃合同爭議解決及仲裁協(xié)議2篇
- 《縣域腫瘤防治中心評估標(biāo)準(zhǔn)》
- 做好八件事快樂過寒假-2024-2025學(xué)年上學(xué)期中學(xué)寒假家長會課件-2024-2025學(xué)年高中主題班會課件
- 人員密集場所消防安全培訓(xùn)
- 液晶高壓芯片去保護(hù)方法
- 使用AVF血液透析患者的護(hù)理查房
- 拜太歲科儀文檔
- 2021年高考山東卷化學(xué)試題(含答案解析)
- 2020新譯林版高中英語選擇性必修一重點(diǎn)短語歸納小結(jié)
- GB/T 19668.7-2022信息技術(shù)服務(wù)監(jiān)理第7部分:監(jiān)理工作量度量要求
- 品管圈活動提高氧氣霧化吸入注意事項(xiàng)知曉率
- 連續(xù)鑄軋機(jī)的工作原理及各主要參數(shù)
評論
0/150
提交評論