用mapXtreme Java开发web gis应用 (上)
1.開(kāi)發(fā)控件的選擇目前影響較大的國(guó)外地理服務(wù)器有Mapinfo MapXtreme、MapObject、Autodesk Map Guide、ArcIMS、Argcgisserver以及國(guó)內(nèi)的Super Map等。由于考慮到我們是采用Java語(yǔ)言開(kāi)發(fā)基于Web方式的Gis應(yīng)用,最終對(duì)比之后采用Mapinfo公司的MapXtreme Java作為開(kāi)發(fā)控件進(jìn)行地理應(yīng)用的二次開(kāi)發(fā)工具。
MapXtreme Java 是目前用于 Internet 或企業(yè) Intranet 唯一的 100% 純 Java 的地圖服務(wù)器。 MapInfo MapXtreme Java 與 J2EE 兼容,為開(kāi)發(fā)人員開(kāi)發(fā)應(yīng)用提供了無(wú)與倫比的靈活性。 MapXtreme Java 向應(yīng)用開(kāi)發(fā)商提供了一個(gè)高度可視化的、直觀(guān)的組件,方便他們將地圖功能集成到任何 Web 應(yīng)用中。
MapXtreme Java為 Internet 設(shè)計(jì)三種布署模式
瘦客戶(hù)端
所有的地圖生成 / 渲染是由服務(wù)器端完成的。客戶(hù)只接收小于 20k 的 GIF 。在服務(wù)器端, MapXtreme 作為一個(gè) Servlet 與 Web 服務(wù)器相連接,或者集成了 Web 服務(wù)器和應(yīng)用服務(wù)器的功能。
中型客戶(hù)端
Web 瀏覽器裝載了一個(gè) Java Applet ,但仍然從 MapXtreme 的 Servlet 中得到基于 GIF/JPEG 的地圖圖像。這種環(huán)境增加了靈活的用戶(hù)交互,同時(shí)將從服務(wù)器下載的信息量降到最低。
胖客戶(hù)端
裝載了 applet 后,地圖以一系列矢量的形式傳輸?shù)?applet 中。這樣,除了可從任何遠(yuǎn)程數(shù)據(jù)庫(kù)中獲得的空間對(duì)象外,所有的地圖功能都屬于客戶(hù) applet 。這種環(huán)境最適于更高帶寬的內(nèi)部網(wǎng),所有的數(shù)據(jù)都能傳輸?shù)矫總€(gè)客戶(hù)端。要使用這種模式, MapXtreme 必須以命名用戶(hù)方式注冊(cè)。 MapXtremeJava 以壓縮了 10 倍的數(shù)據(jù)格式形成矢量流,便于網(wǎng)絡(luò)傳輸,減少響應(yīng)時(shí)間。
考慮到IE對(duì)applet的支持,客戶(hù)端用戶(hù)對(duì)IE的設(shè)置的反感,我們決定采用瘦客戶(hù)端的部署模式。所有的地圖生成全部由服務(wù)器來(lái)完成,web gis應(yīng)用中的客戶(hù)端和普通web應(yīng)用中的客戶(hù)端一樣。
2.MapXtreme Java的安裝與使用2.1安裝MapXtreme Java第一步:到網(wǎng)站http://www.mapinfo.com.cn下載開(kāi)發(fā)控件MapXtreme Java Edition 4.8.0。
同時(shí)可以下載一些文檔說(shuō)明和sample地圖供學(xué)習(xí)使用。
第二步:運(yùn)行install.exe文件,跟普通的windows下安裝軟件一樣安裝。
安裝成功后,開(kāi)始菜單中會(huì)出現(xiàn)如下所示下拉菜單選項(xiàng):
1.jpg
2.2 MapXtreme Java工具的使用
2.2.1 MapXtreme ServerMapXtreme Server是用于生成地圖的web服務(wù)器,也即是地圖服務(wù)器。
通過(guò)菜單欄中的“Start MapXtreme Server”啟動(dòng)地圖服務(wù)器。
2.jpg
然后,我們可以打開(kāi)IE在地址欄中輸入http://127.0.0.1:8080/進(jìn)行訪(fǎng)問(wèn)。
3.jpg
我們可以看到左邊的導(dǎo)航條中有很多有用的鏈接信息。主要包括對(duì)tomcat的管理、API文檔的說(shuō)明、地圖應(yīng)用的sample。可以根據(jù)自己的興趣進(jìn)行點(diǎn)擊查看,進(jìn)行學(xué)習(xí)。推薦先查看Examples中的Servlet部分,然后查看Documentation中的MapXtreme Java API以便有針對(duì)性的學(xué)習(xí)。
通過(guò)點(diǎn)擊菜單目錄中的“Stop MapXtreme Server”來(lái)關(guān)閉地圖服務(wù)器。
2.2.2 MapXtreme Java Manager通過(guò)點(diǎn)擊菜單欄中的“MapXtreme Java Manager-WebServer”啟動(dòng)MapXtreme Java Manager。注意:必須在地圖服務(wù)器啟動(dòng)以后,MapXtreme Java Manager-WebServer才能正常啟動(dòng)。
4.jpg
MapXtreme Java Manager啟動(dòng)成功以后,會(huì)彈出如下的界面:
5.jpg
也可通過(guò)菜單目錄的“MapXtreme Java Manager-StandAlone”在獨(dú)立模式下啟動(dòng)MapXtreme Java Manager。后者的啟動(dòng)不依賴(lài)于地圖服務(wù)器的啟動(dòng)與否。二者的區(qū)別在于后者啟動(dòng)方式下功能比前者少,不能與地圖服務(wù)器進(jìn)行交互。獨(dú)立模式下啟動(dòng)界面如下圖所示:
6.jpg
我們可以通過(guò)MapXtreme Java Manager客戶(hù)端對(duì)指定格式(*.mdf和*.gst)的地圖文件進(jìn)行查看及編輯,功能十分強(qiáng)大。此客戶(hù)端還具有web應(yīng)用程序定制、創(chuàng)建用于命名地圖和圖層的上下文、管理JDBC連接等高級(jí)功能。
7.jpg
3.構(gòu)建自己的web gis應(yīng)用3.1熟悉MapJ
APIMapJ對(duì)象管理地圖的狀態(tài)。該對(duì)象維護(hù)地圖中心和縮放、坐標(biāo)系、距離單位和共同構(gòu)成地圖的圖層。MapJ位于MapXtreme客戶(hù)機(jī)API的最頂端。
打開(kāi)MapXtreme Java的API文檔,選擇com.mapinfo.mapj,對(duì)類(lèi) MapJ中的每個(gè)方法的使用我們都應(yīng)該仔細(xì)閱讀,因?yàn)樵陂_(kāi)發(fā)web gis的過(guò)程中我們將會(huì)用到。
8.jpg
其中,尤為關(guān)鍵的,我們需要了解如下幾個(gè)方法:
MapJ對(duì)象初始化:MapJ()
加載地圖:loadMapDefinition()
設(shè)置地圖邊界:setDeviceBounds()
設(shè)置地圖中心:setCenter()
設(shè)置地圖縮放比:setZoom()
3.2 熟悉Javascript中鼠標(biāo)響應(yīng)事件我們?cè)诳蛻?hù)端瀏覽器中往往需要點(diǎn)擊地圖上的位置進(jìn)行精確定位,或?qū)Φ貓D進(jìn)行放大、縮小、平移等操作,這時(shí)候就需要將客戶(hù)端的請(qǐng)求提交到服務(wù)器端,與地圖服務(wù)器進(jìn)行交互。
為了實(shí)現(xiàn)客戶(hù)端與服務(wù)器的交互,必須要能捕捉到用戶(hù)的鼠標(biāo)響應(yīng)事件,獲得鼠標(biāo)指針的當(dāng)前位置等信息。
其中,特別需要關(guān)注的鼠標(biāo)響應(yīng)事件有:
鼠標(biāo)按下事件:onmousedown
鼠標(biāo)松開(kāi)事件:onmouseup
鼠標(biāo)指針移動(dòng)到元素上觸發(fā)事件:OnMouseOver
此外,還可能需要用到onclick、oncontextmenu、onmousewheel等事件,根據(jù)自己開(kāi)發(fā)的web gis應(yīng)用的需要來(lái)選擇使用。
4.3 開(kāi)發(fā)一個(gè)完整的web gis應(yīng)用4.3.1 搭建開(kāi)發(fā)環(huán)境進(jìn)行web gis開(kāi)發(fā)的編程環(huán)境:
支持開(kāi)發(fā)web應(yīng)用的Java IDE(如MyEclipse、Jbuilder),支持servlet的web應(yīng)用服務(wù)器(如tomcat、weblogic),支持javascript的瀏覽器(如IE 6.0),標(biāo)準(zhǔn)格式的地圖圖片(*.gst,*.mdf)。
將安裝目錄中MapXtreme-4.8.0\apache-tomcat-5.5\webapps\mapxtreme480復(fù)制到自己的應(yīng)用服務(wù)器發(fā)布目錄下,或者仍沿用安裝時(shí)MapXtreme默認(rèn)安裝的tomcat來(lái)部署地圖服務(wù)器。
啟動(dòng)地圖服務(wù)器,通過(guò)訪(fǎng)問(wèn)服務(wù)器地址http://127.0.0.1:80/mapxtreme480/servlet/mapxtreme來(lái)查看是否部署成功。若顯示為一空白頁(yè)面則表明已部署成功。
4.3.2 編寫(xiě)一個(gè)簡(jiǎn)單的servlet首先編寫(xiě)一個(gè)簡(jiǎn)單的servlet,后面我們將重寫(xiě)其doGet方法來(lái)生成地圖。
將安裝目錄中\(zhòng)MapXtreme-4.8.0\lib\common中的文件和\MapXtreme-4.8.0\lib\server中的文件復(fù)制到自己的web應(yīng)用中的\WEB-INF\lib目錄下。
,然后啟動(dòng)web服務(wù)器,通過(guò)瀏覽器訪(fǎng)問(wèn)servlet看是否運(yùn)行正常。
轉(zhuǎn)載于:https://www.cnblogs.com/googlegis/archive/2009/12/15/2978963.html
總結(jié)
以上是生活随笔為你收集整理的用mapXtreme Java开发web gis应用 (上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2009-12-12
- 下一篇: [转]Java 关闭线程的安全方法