国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

百度地圖API在JBoss Seam中的研究與應(yīng)用

2014-10-17 16:42:32楊凱賀衛(wèi)東肖媛娥
電腦知識與技術(shù) 2014年26期

楊凱 賀衛(wèi)東 肖媛娥

摘要:通過研究JBoss Seam這個將 EJB、JSF、AJAX等深度整合的應(yīng)用程序框架,開發(fā)了弱電管道管理系統(tǒng),并成功的將百度地圖應(yīng)用在JBoss Seam上。分析對比了傳統(tǒng)的兩種地圖發(fā)布的數(shù)據(jù)傳遞方式,研究了將JBoss Seam的地圖數(shù)據(jù)傳遞到百度地圖API的方法。將系統(tǒng)中管道的具體位置和詳細(xì)信息標(biāo)注在百度地圖上,實(shí)現(xiàn)管道系統(tǒng)在百度地圖上發(fā)布,方便日后的管道管理和維護(hù)工作。

關(guān)鍵詞:JavaScript;管道管理系統(tǒng);JBoss Seam;百度地圖API

中圖分類號:TP393.09 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)26-6096-03

Abstract:By researching the JBoss Seam application framework that integrate EJB,JSF,AJAX and so on ,We developed a weak current pipeline management system,and use Baidu map in JBoss Seam.Analyzed and compared the two traditional way to transfer the map data. Researched the method transfer the map data of JBoss Seam to the Baidu map API.Identify the specific location of the pipeline and detailed information on the baidu map and release pipeline system in baidu map.It can facilitate the pipeline management and maintenance work in future.

Key words:JavaScript; pipeline management system; Java Seam; Baidu map API

隨著電子地圖和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,為建立一個地理信息服務(wù)提供了諸多的解決方案。例如:Google 地圖和百度地圖等都是現(xiàn)如今非常著名的電子地圖。這些面向普通用戶所提供的地理信息服務(wù)一般采用B/S或C/S的構(gòu)架方式[1],但其服務(wù)并不能直接應(yīng)用在JBoss Seam應(yīng)用框架上。

Google地圖和百度地圖等都發(fā)放了針對其自身的應(yīng)用程序接口API(Application Program Interface)。其中百度地圖API提供了多種API,有JavaScript API、Flash API以及靜態(tài)圖API等。百度地圖的API能夠幫助開發(fā)者快速現(xiàn)在地圖上添加Marker、自定義信息窗口、標(biāo)注相關(guān)開發(fā)、快速加載城市列表、拉框放大、拉框搜索、區(qū)域限制設(shè)置、幾何運(yùn)算、交通流量等功能。

弱電管道管理系統(tǒng)基于JBoss Seam應(yīng)用框架開發(fā),這里選擇百度地圖的JavaScript API,JavaScript API是一套由JavaScript 編寫的應(yīng)用程序接口。它能夠幫助您在網(wǎng)站中構(gòu)建功能豐富、交互性強(qiáng)的地圖應(yīng)用,而且百度地圖的全中文和本地化更符合本系統(tǒng)的要求。百度地圖API包含了構(gòu)建地圖基本功能的各種接口,提供了諸如本地搜索、路線規(guī)劃等數(shù)據(jù)服務(wù),百度地圖的兼容性也很好,它不僅支持IE、Firefox、Chrome等瀏覽器還能夠支持跨越操作系統(tǒng)(Windows、Mac、Linux)和跨平臺(iPhone、android)的操作[2]。

利用百度地圖的API搭建弱電管道系統(tǒng)的WebGIS平臺,和其他的WebGIS一樣,同樣采用三層架構(gòu)來搭建即客戶端、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器。其中客戶端主要實(shí)現(xiàn)查詢和瀏覽功能,應(yīng)用服務(wù)器處理來自客戶端的查詢和瀏覽應(yīng)用請求,而數(shù)據(jù)庫服務(wù)器主要用于存儲各種地理信息數(shù)據(jù)。該文主要采用的API為如下:

1) 地圖主控件:負(fù)責(zé)與地圖的交互的基本的不可缺少的控件。如地圖平移縮放控件。

2) 事件監(jiān)聽:JavaScript是用程序來監(jiān)聽相應(yīng)的事件,并通過生成事件來驅(qū)動交互的響應(yīng)[3]。

3) 覆蓋物控件:疊加或覆蓋到原始地圖上的內(nèi)容,可以額外的添加點(diǎn)、線或標(biāo)注信息等。

4) 導(dǎo)航控件:在兩點(diǎn)之間尋求可行的最短路徑,通過折線段標(biāo)識出來。

1 技術(shù)路線

基于百度地圖API接口實(shí)現(xiàn)空間數(shù)據(jù)發(fā)布,需自定義XML文件作為中間橋梁,將數(shù)據(jù)庫中的本地?cái)?shù)據(jù)轉(zhuǎn)化成可供百度地圖API解析的數(shù)據(jù)格式,然后通過JavaScript API調(diào)用百度地圖,并在地圖上標(biāo)注,實(shí)現(xiàn)本地?cái)?shù)據(jù)在百度地圖上的發(fā)布[4]。

2 關(guān)鍵技術(shù)

2.1 事件監(jiān)聽

在地圖中的主要操作如查看標(biāo)注信息、地圖放大等一般需要通過鼠標(biāo)操作來實(shí)現(xiàn),如何讓地圖的控件監(jiān)聽到當(dāng)前對地圖的操作是將本地信息發(fā)布到百度地圖上的基礎(chǔ)。百度地圖API中的大部分對象都含有事件監(jiān)聽方法,可以通過該方法來監(jiān)聽對象事件[5]。方式為:

1) 添加事件監(jiān)聽:source.addEventListener(“event”,function);其中source表示監(jiān)聽的對象,通常是地圖對象(map)或標(biāo)注對象(marker),event表示監(jiān)聽到的操作,主要有click、dblclick、drag、mousedown、mouseover等,而function則是監(jiān)聽觸發(fā)后所要調(diào)用的事件函數(shù)[6]。例如向地圖添加監(jiān)聽事件使每當(dāng)用戶點(diǎn)擊地圖時,會彈出一個警告框:map.addEventListener("click", function(){ alert("警告!");});

2) 移除事件監(jiān)聽:同添加監(jiān)聽一樣,每個API對象提供了 removeEventListener用來移除事件監(jiān)聽函數(shù)。source.removeEventListener(“event”,function);用法類似添加事件監(jiān)聽。例如:map.removeEventListener("click", showInfo);在地圖函數(shù)中移除事件監(jiān)聽,使得后續(xù)的點(diǎn)擊操作不會觸發(fā)監(jiān)聽函數(shù)。

2.2 使用XML文件傳遞數(shù)據(jù)

讀取目標(biāo)點(diǎn)的地理坐標(biāo)和屬性并在地圖的對應(yīng)位置上標(biāo)注出來,通常有兩種可行的方法。

方法1 :XML文件解析技術(shù)。從數(shù)據(jù)庫中讀取信息并寫到XML文件中,然后使用百度的接口函數(shù)解析XML文件,將存儲在XML文件中的數(shù)據(jù)讀取并賦值給函數(shù)的局部變量。但如何生成儲存了地理坐標(biāo)和屬性的XML文件是這種方法的關(guān)鍵。通常的方法是直接使用Dataset方法自帶的WriteXml函數(shù)[7]。但是使用這種方法生成的XML文件在百度地圖下有時無法解析。

方法2 AJAX技術(shù)(異步加載)。該技術(shù)是用XMLHttpRequest通過異步方式與Web服務(wù)器數(shù)據(jù)交換,在數(shù)據(jù)交換的過程中可以不刷新頁面而直接進(jìn)行數(shù)據(jù)的讀取[8]。但是該方式對于讀取小數(shù)據(jù)優(yōu)勢比較明顯。對于弱點(diǎn)管道系統(tǒng),所需要在地圖上展示的信息很小,所以采用此方法是一個很好的選擇。3 弱電管道系統(tǒng)的設(shè)計(jì)

經(jīng)過對系統(tǒng)的需求分析,設(shè)計(jì)的系統(tǒng)具有的主要功能有:數(shù)據(jù)的錄入、數(shù)據(jù)查詢、位置查詢等功能。用戶在百度地圖上瀏覽位置信息時可以通過單擊地圖標(biāo)識來查看詳情。

3.1 系統(tǒng)的功能設(shè)計(jì)

弱電管道系統(tǒng)的功能主要包括:

1) 在百度地圖中查看管道元素。

2) 查詢功能,實(shí)現(xiàn)在管道系統(tǒng)中查詢相應(yīng)的管道元素。

3) 添加功能,實(shí)現(xiàn)對新數(shù)據(jù)的采集錄入并存儲在數(shù)據(jù)庫中。

4) 發(fā)布功能,實(shí)現(xiàn)本地?cái)?shù)據(jù)庫信息數(shù)據(jù)在百度地圖上發(fā)布。

3.2 數(shù)據(jù)庫設(shè)計(jì)

百度地圖的衛(wèi)星地圖可實(shí)現(xiàn)17級的縮放,它的精確度能達(dá)到0.5m,大部分地區(qū)幾乎所有的建筑和樹木都在百度地圖上清晰的可辨。作為管道原型系統(tǒng),地圖數(shù)據(jù)主要采集井孔的信息。

系統(tǒng)數(shù)據(jù)庫共設(shè)6張數(shù)據(jù)表,其中5張表用來記錄弱電管道的的屬性和管道之間的關(guān)聯(lián)信息,另1張用來記錄井孔的屬性。井孔屬性表用來記錄井孔的地理位置信息,它是實(shí)現(xiàn)系統(tǒng)地圖顯示的核心表單。

4 總結(jié)

本文提出了一種利用百度地圖的開放平臺實(shí)現(xiàn)空間信息的查詢技術(shù),采用該技術(shù)可實(shí)現(xiàn)在利用百度地圖上完成位置的便捷查詢定位,并在查詢的同時能夠方便的查看屬性信息。該文為構(gòu)建基于Seam Framework開發(fā)WebGIS提供技術(shù)依據(jù),并低成本的WebGIS平臺提供了直接可用的參考。

參考文獻(xiàn):

[1] 孟令奎,史文中,張鵬林,網(wǎng)絡(luò)地理信息系統(tǒng)原理與技術(shù)[M].北京:科學(xué)出版社,2005:76-90.

[2] 百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司.百度地圖JavaScript API開發(fā)指南[EB/OL].(2012-11-29) [2012-12-31].http://developer.baidu.com/map/js-download.htm.

[3] 孫曉茹,趙軍.Google Maps API在WEBGIS中的應(yīng)用[J].微計(jì)算機(jī)信息,2006,22(19):224-226.

[4] 劉偉.基于JSF/EJB3的JBoss Seam應(yīng)用框架研究與應(yīng)用[J].電腦知識與技術(shù),2012(30):7236-7239.

[5] 杜傳明.百度地圖API在小型地理信息系統(tǒng)中的應(yīng)用[J].測繪與空間地理信息,2011,34(2):152-153,156.

[6] 白學(xué)文,楊紅,楊韜.基于百度地圖API發(fā)布鄉(xiāng)鎮(zhèn)精細(xì)化天氣預(yù)報(bào)[J].云南科技管理,2012,25(1).

[7] 張勝,鐘世明,朱才連.基于XML的WebGIS構(gòu)架的設(shè)計(jì)與實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2005,29(2):304-307.

[8] 周宇林,付忠良.基于Google地圖API的空間信息發(fā)布[J].計(jì)算機(jī)應(yīng)用,2011,31(5):1450-1452.

平武县| 休宁县| 贵港市| 厦门市| 应城市| 玉山县| 富川| 仲巴县| 汝阳县| 嘉义县| 沁水县| 西吉县| 准格尔旗| 吉首市| 昌宁县| 黄陵县| 北京市| 东乡族自治县| 江北区| 宜川县| 札达县| 英山县| 常熟市| 娱乐| 仁布县| 怀化市| 咸宁市| 辽源市| 西宁市| 方城县| 同仁县| 沈阳市| 桐乡市| 佛冈县| 丰都县| 青海省| 公主岭市| 米林县| 吉首市| 十堰市| 英山县|