web開(kāi)發(fā)三維入門(mén)向?qū)?815_第1頁(yè)
web開(kāi)發(fā)三維入門(mén)向?qū)?815_第2頁(yè)
web開(kāi)發(fā)三維入門(mén)向?qū)?815_第3頁(yè)
web開(kāi)發(fā)三維入門(mén)向?qū)?815_第4頁(yè)
web開(kāi)發(fā)三維入門(mén)向?qū)?815_第5頁(yè)
已閱讀5頁(yè),還剩116頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目目第1章MapGIS三維GIS開(kāi)發(fā)平臺(tái)介目目第1章MapGIS三維GIS開(kāi)發(fā)平臺(tái)介 MapGIS三維GIS二次開(kāi)發(fā)體 MapGIS10三維WebGIS開(kāi)發(fā)框 JavaScript開(kāi)發(fā) 第2章平臺(tái)安裝與數(shù)據(jù)準(zhǔn) 配置MAPX文 發(fā)布mapx文 第3章JavaScriptAPI開(kāi)發(fā)入 .NET應(yīng)用開(kāi)發(fā)入 創(chuàng)建.NET工 創(chuàng)建Java工 I4“縱生”式開(kāi)發(fā)入 4“縱生”式開(kāi)發(fā)入 .NET應(yīng)用開(kāi)發(fā)實(shí) .NET應(yīng)用打 Java應(yīng)用打 56 API結(jié)構(gòu) 三維基礎(chǔ)概 相 天 霧 1.1平臺(tái)介一體化的全面的真三維GIS應(yīng)用解決方案。GISGIS 平臺(tái)體系架Terminal/Cloud/Virtual的縮寫(xiě)/云/虛三層結(jié)構(gòu)。T/C/V采用面向服務(wù)的多層。MapGIS三維GIS開(kāi)發(fā)平臺(tái)的總體結(jié)構(gòu)如圖1.1所示。MapGIS三維GIS開(kāi)發(fā)平臺(tái)基于C++的MapGIS基礎(chǔ)內(nèi)核,分別提供.NETJava兩套GIS功能服務(wù),并針對(duì)多層次應(yīng)用需求分別提供面向桌面端、Web端、移動(dòng)端能庫(kù)的功能插件或API接口,可以很好的適應(yīng)用戶的技術(shù)開(kāi)發(fā)體系,二次開(kāi)發(fā)隨需而悅。1MapGIS3S(GIS/RS/GPS)功能服服務(wù)集……理GIS功能服務(wù)體系1.1平臺(tái)體系架構(gòu)圖MapGIS3S(GIS/RS/GPS)功能服服務(wù)集……理GIS功能服務(wù)體系1.1平臺(tái)體系架構(gòu)圖虛擬設(shè)備層(V層:利用虛擬化技術(shù),將計(jì)算機(jī)、存儲(chǔ)器、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)設(shè)備等硬件聚合服務(wù)的理念構(gòu)建服務(wù)資源,提供多層次的應(yīng)用服務(wù)及解決方案基礎(chǔ)內(nèi)核:平臺(tái)基礎(chǔ)內(nèi)核運(yùn)行Windows/Linux/UNIX/AIX等操作系統(tǒng)上,基于數(shù)主要負(fù)責(zé)與數(shù)據(jù)服務(wù)器層的數(shù)據(jù)通信,提供.NETJava兩個(gè)版本內(nèi)核。針對(duì)數(shù)據(jù)2云GIS(V層 實(shí)時(shí)交通/公交/車(chē)輛/導(dǎo)航/PIO/氣象MapGIS基礎(chǔ)內(nèi)核第三方Web服桌面Web移動(dòng)程序集/控件搭建…Web數(shù)據(jù)進(jìn)行一體化存儲(chǔ)與管理數(shù)據(jù)進(jìn)行一體化存儲(chǔ)與管理;針對(duì)各“端”的三維GIS可視化,提供高效的三維渲染引擎;針對(duì)二三維GIS的應(yīng)用,通過(guò)數(shù)據(jù)倉(cāng)庫(kù)與功能倉(cāng)庫(kù)提供基礎(chǔ)的功能服GIS功能服務(wù):構(gòu)建平臺(tái)基礎(chǔ)內(nèi)核之上,提供.NETJava兩大技術(shù)體系相應(yīng)的功用WebService方式構(gòu)建豐富的“3S”功能服務(wù)資源池,提供包括二維GIS、真三維GIS、遙感、GPS等全面的功能服務(wù)資源,以及靈活的擴(kuò)展機(jī)制,滿足桌面端、Web端、移動(dòng)端等多端三維GIS應(yīng)用需求。服務(wù)資源,提供服務(wù)器管理、服務(wù)管理、集群管理、權(quán)限管理與安全管理等功能終端應(yīng)用層(T層向政府、企業(yè)、大眾化的三GIS應(yīng)用,基于平臺(tái)開(kāi)發(fā)框架提供多方式的二次開(kāi)發(fā)包,支持桌面端、Web端、移動(dòng)端等多端開(kāi)發(fā)應(yīng)用,并且多端應(yīng)用可三維GIS應(yīng)用系統(tǒng)。在終端應(yīng)用層,用戶通過(guò)客戶端與云GIS服務(wù)層進(jìn)行交互 平臺(tái)功能特MapGISIGSS3D是全空間的,讓世界本原得以完整呈現(xiàn);是真三維的,對(duì)地準(zhǔn)透析;是易集成的,做到了應(yīng)用服務(wù)快速構(gòu)建;它還是高共享的,實(shí)現(xiàn)從云到端的跨越 高效的多維地理空間數(shù)據(jù)管展、層次化的管理1.2多維時(shí)空數(shù)據(jù)一體化管3統(tǒng)一的三維空間數(shù)據(jù)渲染引統(tǒng)一的三維空間數(shù)據(jù)渲染引于3D硬件設(shè)備的應(yīng)用程序或功能組件庫(kù)。路徑漫游等多種三維場(chǎng)景操作方式,提供對(duì)場(chǎng)景三維特效的支持,包括場(chǎng)景霧效果、粒生成及動(dòng)態(tài)紋理繪制等1.3場(chǎng)景特效示意全空間的一體化表MapGISIGSS3D提供高空、地表、地上、地下全空間一體化的表達(dá)方法。采用高效的MapGISIGSS3D實(shí)現(xiàn)了空中、地上、地下一體化表達(dá),使得我們的地球空間形成一個(gè)形、影像、矢量、三維模型等各類對(duì)象,以三維可視化模式為主體,為全空間下多種類型空間信息的一體化顯示與分析提供利快速、便捷的方法與手段4IGSS所具有的對(duì)海量數(shù)據(jù)的高性能管理能力,MapGISIGSS3D實(shí)現(xiàn)了海量地下:在地下,也就是地球內(nèi)部,MapGISIGSS3D實(shí)現(xiàn)了地質(zhì)體,礦體,地下隧利用提供技術(shù)支氣象云地上景地表地地下礦1.4全空間一體化表1.5三維場(chǎng)景渲染顯5基于新型硬件架構(gòu)的大規(guī)模體數(shù)基于新型硬件架構(gòu)的大規(guī)模體數(shù)據(jù)可視化:充分利用GPU硬件圖像處理能力,采用理映射的體繪制方法,體數(shù)據(jù)分塊分級(jí)參與運(yùn)算,實(shí)現(xiàn)大規(guī)模體數(shù)據(jù)的高效可視化1.6體數(shù)據(jù)可視豐富的三維建模方MapGISIGSS3D提供了地上、地表、地下一體化的三維建模方法,全面涵蓋了地上景建筑物建樹(shù)木建道路建管線建1.7多種實(shí)體對(duì)象建6風(fēng)暴體建風(fēng)暴體建1.8體數(shù)據(jù)三維風(fēng)暴體建風(fēng)暴體建1.8體數(shù)據(jù)三維建模、基于平行剖面地質(zhì)建模、多源數(shù)據(jù)耦合建模、大規(guī)模曲面自動(dòng)建模等1.9多種地質(zhì)建專業(yè)的真三維GIS分的三GIS軟件往往只注重效果表達(dá),而缺少真正的GIS分析方法的技術(shù)瓶頸,使得GIS不再只是看起來(lái)很美。主要提供了交互式的地形分析、專業(yè)的切割分析、動(dòng)態(tài)剖切分析、體數(shù)據(jù)三維模型分析、四維時(shí)序分析等大量三維GIS分析功能。(1)交互式的地形分析:在三維場(chǎng)景中實(shí)現(xiàn)了豐富的專業(yè)地形分析功能,擴(kuò)展了三GIS在地形分析方面的深層次應(yīng)用。如交互查詢地形單點(diǎn)的相關(guān)信息、構(gòu)建地形7坡向分填挖方分坡向分填挖方分可視域分洪水淹沒(méi)分1.101.11(2)XYZ任意軸向剖切、任意折線路徑切割與剖8柵狀圖獲折線切平面斜切組合剖柵狀圖獲折線切平面斜切組合剖切1.12切割分地層查鉆孔查1.13模型拾9爆炸顯拖拽顯剖離顯1.14爆炸、拖拽、剖離爆炸顯拖拽顯剖離顯1.14爆炸、拖拽、剖離示意體數(shù)據(jù)三維模型分析:為屬性體模型提供了三維剖切分析工具,具備屬性體任意等值體與切片疊合分體數(shù)據(jù)切片1.15體數(shù)據(jù)三維1.16動(dòng)態(tài)剖切分地下水位動(dòng)態(tài)海岸帶變遷模地下水位動(dòng)態(tài)海岸帶變遷模1.17四維時(shí)序分快速Web發(fā)三維GIS分析功能,實(shí)現(xiàn)了面向網(wǎng)絡(luò)的跨越式發(fā)展1.18三維地球網(wǎng)絡(luò)發(fā)便捷的移動(dòng)三維GIS服供移動(dòng)端的服務(wù)3D世界“移動(dòng)”起來(lái)。實(shí)現(xiàn)多源地理數(shù)據(jù)信息在移動(dòng)端的高效管理,的三維數(shù)據(jù)的高效訪問(wèn);針對(duì)智能設(shè)備GIS特性所設(shè)計(jì)的移動(dòng)數(shù)據(jù)庫(kù)可MapGISIGSS3D實(shí)現(xiàn)數(shù)據(jù)同步、安全傳輸,實(shí)現(xiàn)空間與行業(yè)數(shù)據(jù)的快速遷移與安全共享在逼真的虛擬現(xiàn)實(shí)立體能夠給用戶帶來(lái)強(qiáng)烈、逼真的感官?zèng)_擊,獲得身臨其境的體驗(yàn),還可以通過(guò)其數(shù)據(jù)接口在時(shí)的虛擬環(huán)境中隨時(shí)獲得項(xiàng)目的數(shù)據(jù)資料靈活的二次開(kāi)發(fā)方MapGISIGSS3D與MapGISIGSS的二次開(kāi)發(fā)方式一脈相承,利用設(shè)計(jì)開(kāi)發(fā)中(DesignerCenter)提供的“零編程、巧組合、易搭建”的可視化搭建開(kāi)發(fā)環(huán)境,進(jìn)行簡(jiǎn)單B/S、M/S開(kāi)發(fā)體系;全面支持準(zhǔn)搭建式、工作流、插件式的二次開(kāi)發(fā)模式;提供輕量級(jí)客戶端三維運(yùn)行環(huán)境,支持客戶端數(shù)據(jù)顯示,服務(wù)器跨平臺(tái)部署1.20流程化設(shè)計(jì)與搭 二次開(kāi)發(fā)模結(jié)合MapGIS三維 二次開(kāi)發(fā)模結(jié)合MapGIS三維GIS開(kāi)發(fā)平臺(tái)整體框架與特性,面向終端的多模式應(yīng)用,MapGIS維GIS開(kāi)發(fā)平臺(tái)主要提供兩大開(kāi)發(fā)模式——API開(kāi)發(fā)模式與“框架+插件”開(kāi)API開(kāi)發(fā)模API方式,即基于便捷開(kāi)發(fā)為目的將功能封裝成粒度適中的API,提供二次開(kāi)發(fā)的接口,為當(dāng)前軟件系統(tǒng)常用的開(kāi)發(fā)方式“縱生”式開(kāi)發(fā)“縱生”式方式,即基于MapGIS數(shù)據(jù)中心機(jī)制,采MapGIS10框架+插件的全新開(kāi)用框架與功能插件具備“飄移、聚合、重構(gòu)”的特性。針對(duì)桌面端、Web端、移動(dòng)端多端GIS應(yīng)用,MapGIS10提供了開(kāi)發(fā)運(yùn)行時(shí),以及各種開(kāi)發(fā)庫(kù),采用全新的軟件開(kāi)發(fā)式,可非常便捷的縱生出適合自己業(yè)務(wù)的應(yīng)用二次開(kāi)發(fā)方三維桌面端GIS二次開(kāi)發(fā)方Studio的搭建式開(kāi)發(fā)方式。MapGIS三維GIS開(kāi)發(fā)平臺(tái)的底層內(nèi)核為C++封裝,整個(gè)框架采可選用單一方式開(kāi)發(fā),也可多種方式結(jié)合開(kāi)發(fā),且擴(kuò)展性較高1.21三維桌面端二次開(kāi)發(fā)方C++API開(kāi)發(fā)方縱生ObjectsC+API方提供C++API開(kāi)發(fā)方式,由用戶自己開(kāi)發(fā)三維數(shù)據(jù)樹(shù)視圖,三維提供C++API開(kāi)發(fā)方式,由用戶自己開(kāi)發(fā)三維數(shù)據(jù)樹(shù)視圖,三維渲染視圖等,整個(gè)應(yīng)據(jù)的存儲(chǔ)以及數(shù)據(jù)的三維顯示功能ObjectsC#程序集開(kāi)發(fā)方式,包括三維功能C#的開(kāi)發(fā)接口與功能控件。在三維維模型顯示以及三維分析應(yīng)用等強(qiáng)大復(fù)雜的功能集成到自己的“縱生”式開(kāi)發(fā)能夠利MapGISVisualStudio隨意搭建三維系統(tǒng)框架,能夠根據(jù)特定的項(xiàng)目需求生成具有的快速和得心應(yīng)手了,其擴(kuò)展性和靈活性也得到了最大程度的提高Web端二次開(kāi)發(fā)方面向Web端的三維GIS應(yīng)用,主要提供API開(kāi)發(fā)方式與“框架+插件”開(kāi)發(fā)方1.22三維Web端二次開(kāi)發(fā)方JavaScriptAPI方MapGISGIS開(kāi)發(fā)平臺(tái)針Web端應(yīng)用,主要以功能服務(wù)的Web端提供功因此MapGISGIS開(kāi)發(fā)平臺(tái)提供的客戶端控件、服務(wù)功能庫(kù)、插件資源等,可以海納百川,更好地與Web開(kāi)發(fā)方式結(jié)合,具備良好的擴(kuò)展性、集成性、兼容性等特性“縱生”式開(kāi)發(fā)基于JavaScriptAPI,采用“框架+插件”的全新開(kāi)發(fā)模式,按照開(kāi)發(fā)標(biāo)準(zhǔn)規(guī)范快速構(gòu)建三維WebGIS。MapGIS10框架+插件開(kāi)發(fā)模式,將傳統(tǒng)的Web應(yīng)用系統(tǒng)拆分為框架和插件Web功能插件必須遵循通用的開(kāi)發(fā)標(biāo)準(zhǔn),如此開(kāi)發(fā)出Web應(yīng)用系統(tǒng)才具備“遷移、聚合、重構(gòu)”的特性,應(yīng)用框架與功能插件可以靈活應(yīng)用,功能插件即插即用,體現(xiàn)最大的縱生JavaScriptAPI方容性與擴(kuò)展容性與擴(kuò)展則可以有效整合利用團(tuán)隊(duì)開(kāi)發(fā)資源,快速構(gòu)建、維護(hù)簡(jiǎn)便。對(duì)于應(yīng)用開(kāi)發(fā)者而言,Web框架與功能插件之間互相獨(dú)立,Web框架與功能插件開(kāi)發(fā)并行實(shí)施,將大大縮短開(kāi)發(fā)周同時(shí)也更好實(shí)現(xiàn)了代碼或功能的復(fù)用三維移動(dòng)GIS二次開(kāi)發(fā)式。移動(dòng)端的三GIS開(kāi)發(fā),對(duì)接服務(wù)器GIS功能服務(wù),在移動(dòng)環(huán)境下支持在線與離線方式的數(shù)據(jù)訪問(wèn)與操作,為各行業(yè)的移動(dòng)三維GIS應(yīng)用提供技術(shù)1.23三維移動(dòng)端二次開(kāi)發(fā)方功能模塊,分別API開(kāi)發(fā)方式與“縱生”式的搭建開(kāi)發(fā)方式,滿足三維移GIS的開(kāi)發(fā)應(yīng)用需求。在移動(dòng)端應(yīng)用中,三維移GIS對(duì)接GIS服務(wù)體系,同時(shí)也可以直接利用自身的豐富功能模塊與特性,幫助開(kāi)發(fā)者設(shè)計(jì)實(shí)現(xiàn)不同應(yīng)用領(lǐng)域的應(yīng)用解1.3MapGIS10WebGIS開(kāi)發(fā)框 Web端開(kāi)發(fā)框Web端的MapGISGIS開(kāi)發(fā)框架如1.24所示,主要通過(guò)JavaScript開(kāi)發(fā)方式開(kāi)發(fā)三維WebGIS應(yīng)用系統(tǒng)。三維WebGIS功能庫(kù)由功能服務(wù)、功能插件等組成。功能插件包C#的.NET控件、RPK插件,這些插件都是基于底層庫(kù)編Web客戶API、基礎(chǔ)功API等多種形式。用戶可直接調(diào)用這JavaScriptAPI完成項(xiàng)目的研發(fā)。同式提供的。提供兩種調(diào)用方式:方式一,直接基于平臺(tái)提供的JavaScriptAPI調(diào)用,這種方式可以幫助用戶快速開(kāi)發(fā)應(yīng)用系統(tǒng);方式二,可以URL地址直接調(diào)用服務(wù)。URLURL地REST服務(wù)地JavaScript封三維客戶端運(yùn)行C++、ATL封1.24MapGIS三維WebGIS開(kāi)發(fā)框URL地REST服務(wù)地JavaScript封三維客戶端運(yùn)行C++、ATL封1.24MapGIS三維WebGIS開(kāi)發(fā)框戶所用;而對(duì)于功能針對(duì)性較強(qiáng)、應(yīng)用領(lǐng)域?qū)R坏墓δ?,則可采用編寫(xiě)功能插件的形式來(lái)供功能。同時(shí)這些擴(kuò)展的插件,也可作為其它項(xiàng)目的功能資源重復(fù)利用 JavaScript開(kāi)發(fā)的三維WebGIS開(kāi)發(fā)應(yīng)用。(globe.js景、三維特效、三維分析、三維漫游等所有三維GIS功能。備注說(shuō)Map容器類;提供添加表層圖片、地形圖層、kml圖層、gml圖層、谷歌圖層、微二三維一體化數(shù)據(jù)存三維渲染引MapGIS基礎(chǔ)MapGIS基礎(chǔ)內(nèi)RPK插.NET控功能服(二維、三維服務(wù)調(diào)用插件調(diào)用基礎(chǔ)功能城市地質(zhì)用地質(zhì)災(zāi)環(huán)境監(jiān)水利應(yīng)氣象應(yīng)第2章平臺(tái)安裝與數(shù)據(jù)準(zhǔn)2.1環(huán)境配置準(zhǔn)第2章平臺(tái)安裝與數(shù)據(jù)準(zhǔn)2.1環(huán)境配置準(zhǔn) 基礎(chǔ)環(huán)境要硬件環(huán)至少2G空間;系統(tǒng)環(huán)其它環(huán)二次開(kāi)發(fā)環(huán)境要MapGIS10平臺(tái)開(kāi)發(fā)三維應(yīng)用時(shí),所需二次開(kāi)發(fā)環(huán)境配置如所示,面向桌面端、Web端、移動(dòng)端的三維GIS二次開(kāi)發(fā),統(tǒng)一基于MapGIS10平臺(tái)進(jìn)行GIS開(kāi)發(fā)環(huán)境配置,2.1MapGISGISMapGIS系列軟件相同,MapGIS10平臺(tái)需要一個(gè)匹配的軟件許可配套安裝使用,分MapGIS系列軟件相同,MapGIS10平臺(tái)需要一個(gè)匹配的軟件許可配套安裝使用,分具體安裝過(guò)程請(qǐng)參見(jiàn)MapGIS10的安裝配置手冊(cè)。2.2安裝配置MapGIS相關(guān)軟MapGISIGServer開(kāi)發(fā)包,包含Web端所有服務(wù),及二次開(kāi)發(fā)庫(kù)。MapGIS提供本章節(jié)中所有Java相關(guān)的示例都選用MapGISIGServerforJava平臺(tái),所有.NET示例則都選用MapGISIGServerfor.NET平臺(tái)IDEAndroidSDK)DeveloperToolsCTP與配置方法,請(qǐng)參見(jiàn)MapGIS相關(guān)幫助文檔。與配置方法,請(qǐng)參見(jiàn)MapGIS相關(guān)幫助文檔。Web三維相關(guān)配置方法,請(qǐng)參見(jiàn)《IGServerfor.NET》或《MapGISIGServerforJava2.3三維數(shù)據(jù)準(zhǔn)MapGISGDB(地理數(shù)據(jù)庫(kù))的概念,將所有的數(shù)據(jù)都管理在GDBGDB文件以*.HDFGDBGDB(地理數(shù)據(jù)庫(kù))存儲(chǔ)的數(shù)據(jù)為例,介紹后續(xù)的功能。本小節(jié)中將數(shù)據(jù)庫(kù)默認(rèn)附加到了GDBCatalog中?!笆纠龜?shù)據(jù).HDF”存儲(chǔ)路徑為平臺(tái)安裝目錄2.1右鍵圖右鍵圖2.2 MAPX文MapX文檔。本小節(jié)中將詳細(xì)介紹配置MapX文檔數(shù)據(jù)的具體方法。(1)MapGISMapX單MapGIS10應(yīng)用程序,打開(kāi)MapWorkSpace應(yīng)用程序,如圖2.3所示。2.3MapWorkSpace2.3MapWorkSpace默認(rèn)顯示模式為平面模式,平面模式如圖2.4所示。2.4模式”并預(yù)覽,球面預(yù)覽效果如圖2.5所示。2.52.52.6所示對(duì)話框,選擇“MapGISLocal2.62.72.7覽效果如圖2.8所示。2.92.10mapx文2.11數(shù)據(jù)發(fā)布過(guò)MapGISIGServerfor2.11數(shù)據(jù)發(fā)布過(guò)MapGISIGServerforNET和MapGISIGServerforJava兩大平臺(tái)數(shù)據(jù)發(fā)布方式基本相同,本小節(jié)以MapGISIGServerfor.NET平臺(tái)發(fā)布數(shù)據(jù)為例,作詳細(xì)介紹:菜單項(xiàng),單擊“IGS服務(wù)管理器”菜單,或者直接打開(kāi)IE瀏覽器,輸入http://IP地址:9999/,如http://localhost:9999/(MapGISIGServerforJava平臺(tái)MapGISServerManager地址為http://localhost:9000進(jìn)入IGS服務(wù)管理器。默認(rèn)admin,密碼sa,登IGS服務(wù)管理器發(fā)布三維場(chǎng)景文檔。打開(kāi)數(shù)據(jù)倉(cāng)庫(kù)管理功能界面,如圖2.12所示。點(diǎn)擊界面中系布后的文檔信息將以列表形式出現(xiàn)在三維服務(wù)視圖下進(jìn)入MapGISServer2.1222.3.1world.mapx2.13所2.132.142.14第3JavaScriptAPI開(kāi)第3JavaScriptAPI開(kāi)發(fā)入MapGISIGServer提供一套JavaScriptAPI,可同時(shí)支持.NET和Java兩套開(kāi)發(fā)框架,對(duì)MapGISIGServer平臺(tái)無(wú)限制,即可選擇MapGISIGServerfor.NET,也可選擇MapGISIGServerforJavaMapGISIGServerfor.NETMapGISIGServerforJava共用一套JavaScriptAPI,本章節(jié)將分別以.NETJavaMapGISIGServerforNET和MapGISIGServerforJava平臺(tái)Web3.1.NET應(yīng)用開(kāi)發(fā)入 搭建開(kāi)發(fā)環(huán)在開(kāi)發(fā).NET2.2MapGIS環(huán)境,本小節(jié)示例選擇MapGISIGServerfor.NETMapGISIGServerforNET選件,具體的安裝與配置方法,請(qǐng)參見(jiàn)MapGIS相關(guān)幫助文檔。.NET開(kāi)發(fā)環(huán)境選擇微軟公司的VisualStudio2010Ultimate,請(qǐng)先安裝并配置好該開(kāi)發(fā)環(huán) 創(chuàng)建.NET工.NET開(kāi)發(fā)主要使用VisualStudio系列,支持VisualStudio2005及以上版本,.NETFreamweak2.0及以上版本。本示例以VisualStudio2010為例,介紹.NET環(huán)境的配置方法。安裝VisualStudio2010Ultimate,下載地址如下:安裝方法,請(qǐng)參見(jiàn)VisualStudio提供的配置文檔,在此不再詳述。安裝完成后,打開(kāi)VisualStudio2010Ultimate3.13.1VS2010三維可視化入3.1VS2010三維可視化入門(mén)范例實(shí)創(chuàng)建.NET工3.23.23.33.33.4JSForNet引入開(kāi)發(fā)引入開(kāi)發(fā)3-1Util.js:工具類,定義數(shù)組操作,JSON轉(zhuǎn)換等操作。加載場(chǎng)(1)index.htm文件的<body>和</body>之間加入如下代碼,用于加載三維球控件,如程序代碼3-2所示。3-2說(shuō)明:)實(shí)現(xiàn)三維場(chǎng)景顯示功能,默認(rèn)顯示球面模式,如圖3.5所示。<div<scripttype="text/javascript">varglobe=newGlobe();3.5瀏覽三維數(shù)本小節(jié)實(shí)現(xiàn)三維數(shù)據(jù)瀏覽操作,加載的地圖文檔是瀏覽三維數(shù)本小節(jié)實(shí)現(xiàn)三維數(shù)據(jù)瀏覽操作,加載的地圖文檔是2.3.1小節(jié)所配置的地圖文檔3-2id="globe"divstyle="position:absolute;top:0px;width:100%;height:95%;"控制三維場(chǎng)景顯示的區(qū)域,則整個(gè)div的定義為<divid="globe"style="position:absolute;top0px;width:100height:95%;程序代碼3-3所示。3-33-4<script<divid="btn"style="position:absolute;top:95%;width:120px;height:<inputtype="button"value="瀏覽數(shù)據(jù)onclick="addMap3.6三維量2.3.1小節(jié)所描述的方法,加載一個(gè)地形參見(jiàn)2.3.1小節(jié)所示。function{varname='world';varip=vartype=DocType.TypeG3D;varid=globe.addDoc(name,ip,port,}3.7“平面模式”,預(yù)覽場(chǎng)景效果如圖3.83.7“平面模式”,預(yù)覽場(chǎng)景效果如圖3.8所示,配置完成之后保存地圖文檔,命名為ServerManager3.8距離量(1)距離量(1)小節(jié)所描述的方法加載一個(gè)包含地要注意的是在調(diào)用addDoc()之前要將場(chǎng)景轉(zhuǎn)換為平面模式。3-53-5測(cè)量具體實(shí)現(xiàn)代碼如程序代碼3-6開(kāi)始測(cè)量所示。3-63-5所示,測(cè)量功能的實(shí)現(xiàn)如程序代碼3-7所示。在startMeasure()方法后添加程序代碼3-7所示代碼。3-7functionmeasure(measureType)varinfo=new=//functionstartMeasure()varip=varport=vartype=DocType.TypeG3D;varid=globe.addDoc(name,ip,port,type);}inputtypebutton"value開(kāi)始測(cè)量onclickstartMeasure<inputtypebutton"value距離測(cè)量"onclick=measurelengthmeasureinputtypebutton"value面積測(cè)量onclickmeasureareameasure"3.9面積量點(diǎn)擊“面積測(cè)量”按鈕,在onclick()方法調(diào)用的measure()方法中傳入的參數(shù)的實(shí)現(xiàn)如程序代碼3-7點(diǎn)擊“面積測(cè)量”按鈕,就可以實(shí)現(xiàn)三維面積測(cè)量功能,效果如圖3.10所示。info.tooltype=measureType;info.color=0;}3.10停止測(cè)3.10停止測(cè)3-8function{globe.setAnalyseType(AnalyseType.Null);}3.11 發(fā)布與部3.11 發(fā)布與部3.12圖3.13圖3.133.14webindex.htm,如圖3.15所示。3.153.153.163.2Java應(yīng)用開(kāi)發(fā)入 搭建開(kāi)3.2Java應(yīng)用開(kāi)發(fā)入 搭建開(kāi)發(fā)環(huán)小節(jié)示例選擇MapGISIGServerfor.Java,在安裝環(huán)境時(shí),需勾選MapGISIGServerfor.JavaMapGISJava應(yīng)用示例使用本小節(jié)Java應(yīng)用示例使用版本為T(mén)omcat6.0.10Tomcat6.x的下載地址為本小節(jié)Java應(yīng)用示例使用版本為Myeclipse8.5Myeclipse的下載地址為 Java工)如圖3.17所示。3.17Preference3.17Preference3.183.19三維可視化入門(mén)范例實(shí)Java工)其他選項(xiàng)保持默認(rèn)值,點(diǎn)擊“Finish”,如圖3.20所示。3.203.203.22JSForJava引入開(kāi)發(fā)加載場(chǎng)3.23瀏3.23瀏覽三維數(shù)2.3.1小節(jié)所配置的地圖文world.mapx文檔。本小節(jié)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)代碼與小節(jié)所述唯一不同之處為具體的實(shí)現(xiàn)如程序代碼3-9所示。3-9<scriptfunction{varname='world;varip=vartype=DocType.TypeG3D;varid=globe.addDoc(name,ip,port,}3.24三維量3.24三維量距離測(cè)1小節(jié)相同,MapGISIGServerforJavaREST服務(wù)8090,因此在定義全局變量的時(shí)候與程序代碼3-5有所不同,具體代如程序代webhttp://localhost:8080/JSForJava/index.htm,點(diǎn)擊“開(kāi)始測(cè)量”和“距離測(cè)量”按鈕,就可以實(shí)現(xiàn)三維距離測(cè)量功能,效果如圖3.25所示。3-10JavafunctionaddMap()varip='';3.25面積測(cè)3.25面積測(cè)3-10Tomcat服務(wù)器,在web瀏覽器中訪問(wèn)http://localhost:8080/JSForJava/index.htm,點(diǎn)擊“距離測(cè)量”按鈕,就可varport8089//Javavartype=DocType.TypeG3D;varid=globe.addDoc(name,ip,port,type);}3.26停止測(cè)3.26停止測(cè) 發(fā)布與部本小節(jié)以Tomcat為例,介紹Java(1)Myeclipse3.273.273.283.29Server3.29Server下面就可以看到部署好的JSForJava項(xiàng)目,如圖3.303.30Server在Applications欄下出現(xiàn)JSForJava,則說(shuō)明部署項(xiàng)目成功,如圖3.31所示。3.313.31Web第4章“縱第4章“縱生”式開(kāi)發(fā)入遵循此開(kāi)發(fā)規(guī)范,確保開(kāi)發(fā)的功能插件能夠在云GIS環(huán)境下遷移、聚合、重構(gòu)。GIS服務(wù)資源環(huán)境中,針對(duì)桌面、WebGISMapGIS10提供服務(wù)端開(kāi)發(fā)運(yùn)行時(shí)、WebGISAPIWebGIS開(kāi)發(fā)規(guī)針對(duì)WebWeb應(yīng)用開(kāi)發(fā)框架和功能插件,由此在云4.1開(kāi)發(fā)體系架MapGIS10WebMapGISIGServer開(kāi)發(fā)平臺(tái)。MapGISIGServer提供了豐富的、多維度的WebGIS云服務(wù)功能集合,包含地圖顯實(shí)現(xiàn)基于MapGIS云軟件平臺(tái)的Web功能縱生。MapGISIGServer提供了OGC、供.NETJavaGISWeb(APIMapGISIGServerWeb應(yīng)用,基于“縱生”式開(kāi)發(fā)模式構(gòu)建,遵循統(tǒng)一的開(kāi)發(fā)WebWeb應(yīng)用開(kāi)發(fā)體系架構(gòu)的邏輯層次說(shuō)明按照“即插即用”的插件思想,以及“常駐內(nèi)存”的資源池思想建立服務(wù);在內(nèi)核中引入多處理機(jī)調(diào)度管理機(jī)制,使得同一任務(wù)可以在多個(gè)處理機(jī)中執(zhí)行;內(nèi)核精巧,可伸縮性好,能適應(yīng)硬件更新了Web端功能易聚合的特性。云生產(chǎn)中心:Web應(yīng)用開(kāi)發(fā)主要涉及功能搭建,基于搭建的理念完成功能流程搭建,實(shí)現(xiàn)功能級(jí)別擴(kuò)展?;诠ぷ髁鞣绞降拇罱ǖ墓δ芰鞒?,更好體現(xiàn)了功能復(fù)用率、移植性、聚合等特性DevelopmentFramework:二次開(kāi)發(fā)層MapGISIGServer提供包JavaScript、Flex、Silverlight常插件的擴(kuò)展?;谏鲜龆伍_(kāi)發(fā)資源,遵循統(tǒng)一的開(kāi)發(fā)標(biāo)準(zhǔn)規(guī)范,采用”縱生”式開(kāi)發(fā)模式進(jìn)行Web應(yīng)開(kāi)發(fā)MapGIS10“縱生”式開(kāi)發(fā)模式Web應(yīng)用程序時(shí),主要包括開(kāi)發(fā)框架與功能插件兩大部分。Web應(yīng)用開(kāi)發(fā)面向互聯(lián)網(wǎng)應(yīng)用,具有資源豐富、需求多樣等特點(diǎn),為此,MapGIS既允許用戶自定義擴(kuò)展開(kāi)發(fā)框架,又允許用戶自定義擴(kuò)展功能插件,給用戶創(chuàng)造自這些開(kāi)發(fā)框架與功能插件可以進(jìn)行自由組合、重構(gòu)、聚合等,保證了MapGIS10的重構(gòu)、政 企 大 WebGIS +BusinessPlugins+GIS+Business標(biāo)準(zhǔn)規(guī)范Application MapGISIGServerClientSDK TheThirdSDK 構(gòu)建 C/S、B/SC/S、B/SM/S模式也同樣的適用。對(duì)于這樣的功能流程,具有很高的復(fù)用性、而一個(gè)Web應(yīng)用系統(tǒng)展現(xiàn)效果的好壞,大部分取決于開(kāi)發(fā)框架的實(shí)現(xiàn)效果,如開(kāi)發(fā)框GIS功能,也可以是非功能插件的使用壽命。功能插件開(kāi)發(fā)很好的體現(xiàn)了MapGIS10的縱生、飄移、聚合、重4.2開(kāi)發(fā)原理與流4.2開(kāi)發(fā)原理與流SDK開(kāi)發(fā)、打包、上傳 開(kāi)發(fā)Flex、Silverlight)為基礎(chǔ),按照一套通用的開(kāi)發(fā)規(guī)范Web應(yīng)用開(kāi)發(fā)框架與功能插件MapGIS10“縱生”式開(kāi)發(fā)模式,將傳Web應(yīng)用系統(tǒng)拆分為“開(kāi)發(fā)框架”和“功能插件”兩個(gè)部分,并通過(guò)開(kāi)發(fā)規(guī)范(標(biāo)準(zhǔn)的JSON配置文件)進(jìn)行動(dòng)態(tài)銜接。Web架、功能插件,開(kāi)發(fā)結(jié)構(gòu)如圖4.2所示:Web應(yīng)用開(kāi)發(fā)框I(。4.2基于“縱生”式開(kāi)發(fā)模式的Web應(yīng)用開(kāi)發(fā)菜單或按鈕。例如,WebGIS系統(tǒng)通常包括應(yīng)用logo、地圖容器(動(dòng)態(tài)加載開(kāi)發(fā)規(guī)范:Web應(yīng)用開(kāi)發(fā)框架開(kāi)發(fā)的功能插件需要提供一個(gè)規(guī)范的插件功能$$fraeork$$.開(kāi)發(fā)規(guī)范:Web應(yīng)用開(kāi)發(fā)框架開(kāi)發(fā)的功能插件需要提供一個(gè)規(guī)范的插件功能$$fraeork$$.son開(kāi)發(fā)框架通過(guò)該JSON配置文件調(diào)用功能插件;配置文件基于“縱生”開(kāi)發(fā)模式的Web應(yīng)用開(kāi)發(fā),配置文件——$$framework$$.json是核心,作為開(kāi)發(fā)框架和功能插件的橋梁。$$framework$$.json將在Web應(yīng)用打包后自動(dòng)生成,包括開(kāi)4.34.1圖4.1toolstools的配置即為對(duì)應(yīng)功能插件的配置,自定義配置項(xiàng)需根據(jù)開(kāi)發(fā)方式(JavaScript、Flex、基本項(xiàng),功能插件 ID(開(kāi)發(fā)時(shí)自行設(shè)定,打包后自動(dòng)生成此入口文件中引用功能插件自身文件(即實(shí)現(xiàn)功能插件對(duì)應(yīng)功能的JS文件)其他打包目錄規(guī)在打包Web應(yīng)用時(shí),通用目錄結(jié)構(gòu)如表4.2注:以“$$”開(kāi)頭和結(jié)尾的文件或文件夾均為打包打包目錄規(guī)在打包Web應(yīng)用時(shí),通用目錄結(jié)構(gòu)如表4.2注:以“$$”開(kāi)頭和結(jié)尾的文件或文件夾均為打包安裝后生成的文件夾。以上文件夾的生成是根據(jù)際Web應(yīng)用涉及的資源,在打包工具中配置相應(yīng)項(xiàng)后生成;若沒(méi)有選擇相關(guān)項(xiàng),則不會(huì)生成對(duì)應(yīng)文件夾 開(kāi)發(fā)采用基于MapGIS10“縱生”式開(kāi)發(fā)模式,在開(kāi)發(fā)Web系統(tǒng)應(yīng)遵循整體結(jié)構(gòu)規(guī)范,時(shí)需要按照標(biāo)準(zhǔn)的開(kāi)發(fā)流程進(jìn)行,如圖4.4eb應(yīng)用開(kāi)Web應(yīng)用開(kāi)發(fā)框架準(zhǔn)備(遷移功能插件打功能插件開(kāi)開(kāi)發(fā)框架定功能插件上開(kāi)發(fā)框架上架準(zhǔn)備(定制開(kāi)發(fā)框架打上傳工打包工開(kāi)發(fā)平文件/文件夾名說(shuō)備打包生配置文件,包含開(kāi)發(fā)框架與功能插件的配置信打包生數(shù)據(jù)庫(kù)目錄,存放地理數(shù)據(jù)打包生瓦片數(shù)據(jù)目錄,存放瓦片數(shù)打包生地圖文檔目錄,存放地圖文打包生其他文件目錄,存放使用的一些文打包生說(shuō)明文檔目錄,存放應(yīng)用相關(guān)說(shuō)明文打包其它以“$$xx$$”命名的其它目錄,存放相應(yīng)打包生功能插件是獨(dú)立的模塊,依托于Web應(yīng)用開(kāi)發(fā)框架,但功能插件之間沒(méi)有任何依開(kāi)發(fā)框架開(kāi)發(fā)流WebWeb應(yīng)用開(kāi)發(fā)標(biāo)準(zhǔn)規(guī)范定制開(kāi)發(fā)框架,主要分為如下根據(jù)WebWeb應(yīng)用開(kāi)發(fā)框架,提供功能插Web應(yīng)用開(kāi)發(fā)框架,通過(guò)規(guī)范Web應(yīng)用開(kāi)發(fā)框架時(shí),要基于統(tǒng)一的基本規(guī)范開(kāi)發(fā),同時(shí)可以根據(jù)應(yīng)用需求擴(kuò)展開(kāi)發(fā)框架開(kāi)發(fā)標(biāo)準(zhǔn),即制定行業(yè)或企業(yè)范圍內(nèi)的一套Web應(yīng)用標(biāo)準(zhǔn),使得Web應(yīng)用開(kāi)發(fā)WebWeb應(yīng)用開(kāi)發(fā)框架功能插件開(kāi)發(fā)流Web應(yīng)用開(kāi)發(fā)規(guī)范,在WebWeb應(yīng)用開(kāi)發(fā)框架設(shè)計(jì)的$$framework$$.json(1)工具打開(kāi)開(kāi)發(fā)框架站點(diǎn);另一種是直接開(kāi)發(fā)所需要的工具打開(kāi)開(kāi)發(fā)框架站點(diǎn);另一種是直接開(kāi)發(fā)所需要的Web應(yīng)用開(kāi)發(fā)框功能插打包功發(fā)布功最后,使用專門(mén)的上傳工具將打包后的功能插件上載到MapGIS“云中心4.3三維可視化入門(mén)應(yīng)用開(kāi) 應(yīng)用開(kāi)發(fā)流應(yīng)用框架開(kāi)→開(kāi)發(fā)框架站點(diǎn)→組織目錄結(jié)構(gòu)→配置$$framework$$.json文件→讀取配置創(chuàng)建功能菜單開(kāi)發(fā)框架測(cè)開(kāi)發(fā)框創(chuàng)建開(kāi)發(fā)框架站組織站點(diǎn)目錄結(jié)功能插件菜單動(dòng)態(tài)加載到開(kāi)發(fā)框架中預(yù)設(shè)定的區(qū)域(容器)中。因此,需要在Web應(yīng)用配置站點(diǎn)根目錄下,分別添加一個(gè)$$tools$$目錄和一個(gè)$$framework$$.json配置文件。其中站點(diǎn)根目錄下,分別添加一個(gè)$$tools$$目錄和一個(gè)$$framework$$.json配置文件。其中,“$$tools$$”為功能插件的根目錄,每個(gè)功能插件實(shí)現(xiàn)的相關(guān)文件均寫(xiě)到此目錄下;“$$tools$$”文件夾與“$$framework$$.jsonWeb開(kāi)發(fā)框架的規(guī)范目錄內(nèi)容,其說(shuō)明如表4.3所示:(4)配置功能插件調(diào)用流程如圖4.6所示。讀置件動(dòng)態(tài)加載功能插信息配4.6功能插件調(diào)用流$$framework$$.json是一個(gè)標(biāo)準(zhǔn)的JSON結(jié)構(gòu)的配置文Web應(yīng)用開(kāi)發(fā)框架與功能插件配置兩部分內(nèi)容。$$framework$$.json配置文件的相應(yīng)配置信息將在開(kāi)發(fā)框架和功能Silverlight例如,基JavaScriptWeb應(yīng)用Web開(kāi)發(fā)框架站點(diǎn)的根目錄下創(chuàng)init.js開(kāi)發(fā)框架站點(diǎn)測(cè)通過(guò)上述步驟,按照規(guī)范完成Web應(yīng)用開(kāi)發(fā)框架的定制,最后一步需要進(jìn)行開(kāi)發(fā)框功能目錄名說(shuō)備$$tools$$/{toolID}/功能插功能插件配置信息文功能插件開(kāi)功能插件開(kāi)的功能插件可以動(dòng)態(tài)裝配到對(duì)應(yīng)的Web應(yīng)用開(kāi)發(fā)框架中。(1)插件依托的Web應(yīng)用開(kāi)發(fā)框架。4.9Web服務(wù)器上(IIS。開(kāi)發(fā)框架站點(diǎn)位于:..\MapGIS4.84.9Silverlight .NET應(yīng)用開(kāi)發(fā)實(shí)開(kāi)發(fā)環(huán)境搭應(yīng)用框架開(kāi)應(yīng)用框架設(shè)件區(qū)域(ext面板4.10創(chuàng)4.10創(chuàng)建開(kāi)發(fā)框架站站,命名為4.11應(yīng)4.11應(yīng)用框架組織目錄結(jié)jsMapGIS10平臺(tái)安裝目錄..\MapGIS10\WebSDK"中的開(kāi)發(fā)庫(kù)4.124.124.12應(yīng)用框架整體設(shè)加載系統(tǒng)框架基本操作的按鈕以及存放位置和樣式等,index.js具體實(shí)現(xiàn)代碼如程序代碼4-2index.htm的<body>和</body>之間添加加載場(chǎng)景的代碼,并制定頁(yè)面加載完成之后所調(diào)用的方法,具體實(shí)現(xiàn)如程序代碼4-3所示。4-1 //用于顯示面板上的提示文Ext.useShims=true;//使面板可見(jiàn)title:'MyPanel',header:false,hidden:false,height:34,width:x:y:y:defaults:{margins:'020layoutConfig:padding:'1',shadow:false,shim:true,constrain:falseitems:flex:1,tooltip:'放大',iconCls:zoomIn,scale:'medium',handlerfunction}},flex:1,tooltip:縮小',iconCls:zoomOut,scale:'medium',handler:function(){}},xtype:flex:flex:tooltip:'模式轉(zhuǎn)換',scale:'medium',handler:function(){ifglobe._ocxObj.object.Mode1)Mode1Mode2}}},flex:1,tooltip:復(fù)位',iconCls:'reset',scalemedium',}},flex:1,iconCls:'append',scale:'medium',}},flex:1,4-24-34-24-3<body<scriptsrc="js/index.js"type="text/javascript"></script><!--初始化系統(tǒng)基本操作按鈕tooltip:'清除圖層',scale:'medium',handlerfunction}varv=Ext.Viewport({layout:allowDomMove:false,enableTabScroll:true,在$$framework$$.jsonext組4-4定位功能插件$$framework$$.json在打包開(kāi)發(fā)框架時(shí)自動(dòng)生成(此略)4-1tools{"tools":[{id:"1AD2783D-D14A-47C0-88A4-"author":"",//作者}<div注:tools節(jié)點(diǎn)中id、name、version、auther、description這幾個(gè)配置項(xiàng)是在打包功能插件時(shí)自注:tools節(jié)點(diǎn)中id、name、version、auther、description這幾個(gè)配置項(xiàng)是在打包功能插件時(shí)自動(dòng)生讀取配置文initFunction.js文件中添加讀取功能插件配置信息$$framework$$.json文件方法實(shí)現(xiàn)如程序代碼4-5所示。4-5get_JSON()functionget_JSON(){type:dataType:"text",success:function(data)varjson=eval("("+data+varvartools=for(vari=0;i<tools.length;{toolID=varimgUrl="$$tools$$/"+toolID+"/"+if(tools[i].jsPage!=""&&tools[i].jsPage!={loadjscssfile(tools[i].jsPage,"js",}if($("#"+tools[i].DivID).length<=0)}}Ext.useShims=true;//使面板可見(jiàn)varbasicToolPanel=newExt.Panel({title:'MyPanel',collapsible:true,header:false,hidden:false,height:34,width:32*i,x:5,y:defaults:{margins:'020layoutConfig:padding:'1',4-6jscss4-6varfileSrc$$tools$$/idbylf:2013-0702:10:46toolidfileSrc+=fileSrc+="?toolId="+varfileref=document.createElement('script');//創(chuàng)建標(biāo)簽fileref.setAttribute("src",fileSrc);//文件的地址elseiffiletypecssfileref.setAttribute("rel","stylesheet");fileref.setAttribute("type","text/css");fileref.setAttribute("href",shadow:false,shim:true,constrain:falseitems:Ext.Viewport({layout:allowDomMove:false,enableTabScroll:true,}插件方法,具體實(shí)現(xiàn)如程序代碼4-7所示。4-7插件方法,具體實(shí)現(xiàn)如程序代碼4-7所示。4-7站點(diǎn)測(cè)functionCreateExtPanel(i,tools,toolID,imgurl,jsfunction,page,{menuItems[i]=newExt.Panel({height:34,width:28,id:toolID,items:[{flex:1,tooltip:scale:'medium',}{eval(jsfunction+}}}if(typeoffileref!="undefined")}4.134.13功能插件開(kāi)Web開(kāi)發(fā)框架準(zhǔn)小節(jié)所介紹的開(kāi)發(fā)框架站點(diǎn),添加功能插件文件夾:在應(yīng)用站點(diǎn)的根目錄ID,功能插件開(kāi)發(fā)時(shí)可自行定義,功能插件打包后將隨機(jī)生成一個(gè)功能插IDID名稱無(wú)效。本例實(shí)現(xiàn)了定位和測(cè)量?jī)蓚€(gè)功能插件,4.144.14說(shuō)明:每4.14說(shuō)明:每個(gè)功能插件獨(dú)立存在,每個(gè)功能插件相應(yīng)的文件放置于\$$Tools$$\功能插ID\目錄下功能插件開(kāi)發(fā)過(guò)將此功能插件涉及的所有資源文件放置到\$$Tools$$\ID\目錄中即可,本例實(shí)現(xiàn)了定位和測(cè)量?jī)蓚€(gè)功能插件,$$Tools$$文件夾下的組織結(jié)構(gòu)如圖4.15所示。$$framework$$.jsoniconImg文件架內(nèi)的定位圖標(biāo);js文件夾下存放的是與定位功能相關(guān)的所有js文件,用于實(shí)現(xiàn)4-8locToPoint.js4-8functionlocToPoint(){varmywin1=Ext.Window({title:'具width:100,height:200,x:layout:{type:align:align:items:xtype:'button',flex:1,handler:function(){Ext.Window({renderTo:Ext.getBody(title:輸入坐width:border:false,shim:true,floating:true,height:180,layout:'fit',items:border:items:[{id:xtype:'numberfield',value:'20.1614'},id:xtype:'numberfield',value:'20.1614'},id:xtype:value:value:buttons:['->',text:確定handler:function()varx=Ext.getCmp('txt_x').getValue();vary=Ext.getCmp('txt_y').getValue();varz=Ext.getCmp('txt_z').getValue();if(x&&y&&z){jump(x,y,z);}else","}}},text:'取消',{}}},xtype:'button',flex:1,handler:{;}(5)Web(5)Web配置$$framework$$.json文件定位功能插件的$$framework$$.json如程序代碼4-9所示。4-9定位$$framework$$.json{id:"1AD2783D-D14A-47C0-88A4-}functionjump(x,y,z)varstrObjnewLabelIcon();strObj.text="帶圖標(biāo)注記";strObj.x=x;strObj.y=y;strObj.iconUrl="D:/Data/VisualStudio/VisualStudioglobe.jumpByPos(x,y,z,1200.000000,12.2,12.2,}說(shuō)明:功能插件配置的具體關(guān)鍵參數(shù)說(shuō)明請(qǐng)參考表格4-1Web說(shuō)明:功能插件配置的具體關(guān)鍵參數(shù)說(shuō)明請(qǐng)參考表格4-1Web三維開(kāi)發(fā)庫(kù)位純JavaScript庫(kù),Java和.NET共享一套開(kāi)發(fā)庫(kù),實(shí)現(xiàn)代碼相序代碼4-12測(cè)量插件實(shí)現(xiàn)所示。插件的JSON配置信息請(qǐng)參見(jiàn)程序代碼4-13配置$$framework$$.json信息所示。在此,不再詳述。件的運(yùn)行結(jié)果如圖4.16所示。4.16 Java應(yīng)用開(kāi)發(fā)實(shí)開(kāi)發(fā)環(huán)境搭}應(yīng)用框架開(kāi)應(yīng)用框應(yīng)用框架開(kāi)應(yīng)用框架設(shè)4.17件區(qū)域(ext面板4.17Java創(chuàng)建開(kāi)發(fā)框架站打開(kāi)Myeclipse8.5,按照小節(jié)介紹的方式新建一個(gè)4.18應(yīng)4.18應(yīng)用框架組織目錄結(jié)在開(kāi)發(fā)框架站點(diǎn)根目錄中添加$$tools$$文件夾(存放功能插件文件,存放結(jié)構(gòu)為WebRoot下新建css、img、lib、ext等文件夾,存放示例所需的樣式文件、圖片、二次開(kāi)發(fā)庫(kù)以及第三方j(luò)s庫(kù)文件,將MapGIS10平臺(tái)安裝目錄..\MapGIS10\WebSDK"中的開(kāi)發(fā)庫(kù)引WebRootindex.htm文件,F(xiàn)rameAndPluginForJava的組織4.194.19FrameAndPluginForJava 應(yīng)用4.19FrameAndPluginForJava 應(yīng)用框架整體設(shè)WebRootjsjsindex.js文件,用于初始化加載系統(tǒng)框架基本操作的按鈕以及存放位置和樣式等,index.js具體實(shí)現(xiàn)代碼如程序代碼在$$framework$$.jsonext組紹如何配置$$framework$$.json,測(cè)量功能插件的$$framework$$.json配置如程序代碼4-4所4-10測(cè)量功能插件$$framework$$.json{id:"1AD2783D-D14A-47C0-88A4-讀取配置文讀取配置文用程序,與.NET8090,所以本例中讀取配置文6svrPort的值不同,不同之處如程序代碼4-11所示,其余實(shí)現(xiàn)代碼與程序代碼4-5和程序代碼4-6以及程序代碼站點(diǎn)測(cè)果如圖4.20所示,面積測(cè)量效果如圖4.21所示。";svrDocNamethreeAnalyse地圖文檔名稱,測(cè)量需要用到的地圖文檔svrType=DocType.TypeG3D;//服務(wù)ip}4.204.204.21功能插件開(kāi)Web開(kāi)發(fā)框架準(zhǔn)功能插件開(kāi)Web開(kāi)發(fā)框架準(zhǔn)小節(jié)所介紹的開(kāi)發(fā)框架站點(diǎn),添加功能插件文件夾:在應(yīng)用站點(diǎn)的根目錄功能插件的唯一ID4.22說(shuō)明:每個(gè)功能插件獨(dú)立存在,每個(gè)功能插件相應(yīng)的文件放置于\$$Tools$$\功能插ID\目錄下功能插件開(kāi)發(fā)過(guò)將此功能插件涉及的所有資源文件放置到\$$Tools$$\ID\架內(nèi)的定位圖標(biāo);jsjs文件,用于實(shí)現(xiàn)measure.js4-12所4-12functionmeasure(){Ext.Window({title:'具width:100,height:200,x:layout:layout:type:padding:'5',items:xtype:'button',flex:1,handler:function()}xtype:'button',flex:1,handler:function()info.type=1;info.measuretype=0;//lengthmeasureareameasureinfo.tooltype="lengthmeasure";info.color=0;}},xtype:(5)Web(5)Webflex:1,handler:function()info.type=1;info.measuretype=0;//lengthmeasureareameasureinfo.tooltype="areameasure";info.color=0;}},xtype:'button',flex:1,handler:function{globe.setAnalyseType(AnalyseType.Null);}}(6)配置$$framework$$.json位功能插件的$$framework$$.json(6)配置$$framework$$.json位功能插件的$$framework$$.json如程序代碼4-13所示。4-13配置$$framework$$.json說(shuō)明:功能插件配置的具體關(guān)鍵參數(shù)說(shuō)明請(qǐng)參考表格4-1Web三維開(kāi)發(fā)庫(kù)位純JavaScript庫(kù),Java和.NET共享一套開(kāi)發(fā)庫(kù),實(shí)現(xiàn)代碼相碼4-9定位$$framework$$.json配置所示。在此,不再詳述。4.4打包上,.NET應(yīng)用打開(kāi)發(fā)框架打開(kāi)平臺(tái)安裝目錄下的Program文件夾,運(yùn)行MapGIS.Developer.WebPublisher.exe環(huán)境信息,在如圖4.24所示,打包框架環(huán)境信息配置說(shuō)明如表格4-2所示。{id:"1AD2783D-D14A-47C0-88A4-}4.244-2打包框架環(huán)境信息配置說(shuō)明(2)4-34.244-2打包框架環(huán)境信息配置說(shuō)明(2)4-3.netframework開(kāi)發(fā)框架使用的.netframeworkIIS4.25Web4-34.25Web4-34.264.264.264.26成后,自動(dòng)打開(kāi)該選項(xiàng)中的文件(exe文件、文檔文件等。)4.27)4.27(5Web應(yīng)用開(kāi)發(fā)框架.webpkg文件,位于..\MapGIS10\Program\WebShoppingPackages\{frameID}件的命名規(guī)范為:frame_項(xiàng)目名稱_開(kāi)發(fā)框架唯一編號(hào).webpkg4.2功能插件打4.284-44.284-4(2)進(jìn)行功能插件基本信息配置,包括選擇框架、插件基本信息、選擇功能插件、插件不同的是需要指定該功能插件依托的Web應(yīng)用開(kāi)發(fā)框架,并設(shè)置功能插件擴(kuò)4.294-54.284-4(2)進(jìn)行功能插件基本信息配置,包括選擇框架、插件基本信息、選擇功能插件、插件不同的是需要指定該功能插件依托的Web應(yīng)用開(kāi)發(fā)框架,并設(shè)置功能插件擴(kuò)4.294-5.netframeworkIIS4.294-5—選擇框架(必選功能插件的作者(開(kāi)發(fā)者—4.294-5—

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論