錢立
(四川職業(yè)技術(shù)學(xué)院計算機(jī)科學(xué)系,四川遂寧629000)
簡易位置信息共享系統(tǒng)的設(shè)計與實(shí)現(xiàn)
錢立
(四川職業(yè)技術(shù)學(xué)院計算機(jī)科學(xué)系,四川遂寧629000)
本文以室外團(tuán)隊活動需要了解各自位置為需求,設(shè)計并實(shí)現(xiàn)了一個簡易的位置共享系統(tǒng).借助于普遍使用的安卓移動終端GPS功能獲取定位數(shù)據(jù),并上報給服務(wù)器端,通過服務(wù)器端頁面將多個成員的位置在百度地圖上顯示出來.顯示位置同時還可附帶一些文字消息.該系統(tǒng)的特點(diǎn)是快速、高效、安全.
LBS;位置共享;GPS;安卓
基于位置的服務(wù)L BS,是指通過電信移動運(yùn)營商的無線電通訊網(wǎng)絡(luò)或外部定位方式,獲取移動終端用戶位置信息,在G IS平臺的支持下,為用戶提供相應(yīng)服務(wù)的一種增值業(yè)務(wù)[1].它能根據(jù)位置找到相關(guān)的服務(wù),比如賓館、飯店等.智能手機(jī)標(biāo)配有G P S定位功能,團(tuán)隊?wèi)敉饣顒訒r,團(tuán)隊成員想要相互了解位置進(jìn)行互動,變得容易實(shí)現(xiàn).這種情況需要實(shí)時準(zhǔn)確、安全可靠的共享位置信息.對于這種需求,可臨時搭建一個簡易位置信息共享系統(tǒng).相對于城市中提供功能完善的位置服務(wù)來說,簡易系統(tǒng)易于搭建和維護(hù),通信快捷,去掉了不必要的服務(wù)及冗余數(shù)據(jù),顯得高效而安全.
據(jù)此,我們設(shè)計如下的簡易位置信息共享系統(tǒng).
2.1 系統(tǒng)架構(gòu)
圖1 系統(tǒng)架構(gòu)圖
2.2 服務(wù)器端
服務(wù)器端是Web頁面,在該頁面上能接受到多個客戶端的位置信息,并調(diào)用百度地圖顯示出各客戶端的所在位置.由于客戶端是移動的,G P S數(shù)據(jù)是動態(tài)的,每隔一定時間發(fā)送位置信息,所以服務(wù)器端頁面也能動態(tài)顯示各客戶端的位置變化狀況.
2.3 安卓移動客戶端
安卓客戶端需要通過移動通信網(wǎng)絡(luò)訪問服務(wù)器端Web頁面,就能看到團(tuán)隊中所有成員的位置情況.但首要的是自己客戶端要主動地每隔一定時間發(fā)送自己的位置信息給服務(wù)器.
該系統(tǒng)能完成可靠的位置共享需要幾點(diǎn)條件保障,一是能用移動通信網(wǎng)絡(luò)進(jìn)行I nternet通信,二是G P S能準(zhǔn)確迅速定位,三是必須提供一個可靠的Web瀏覽中介頁面.
2.1 位置信息數(shù)據(jù)包及處理類的設(shè)計
位置信息數(shù)據(jù)主要包括定位的經(jīng)緯度、位置人、附加信息等數(shù)據(jù),并要求將數(shù)據(jù)用某種方式加密(如M D5).所以按照面向?qū)ο笤O(shè)計思想設(shè)計該數(shù)據(jù)包為一個P erson L ocation類,包括了以上幾個屬性,還設(shè)計了一個加密數(shù)據(jù)的方法,如下.
2.2 百度地圖API服務(wù)器端Servlet和JS
2.2.1 獲取多個客戶端位置
服務(wù)器端為了獲取多個客戶端發(fā)送的位置信息,此處采用J S P的S ervlet組件實(shí)現(xiàn).S ervlet組件運(yùn)行于后臺,它接收客戶端發(fā)送的數(shù)據(jù),并解析后存入J S P的appl ication全局變量中,關(guān)鍵代碼如下.
2.2.2 動態(tài)Web頁
由于Web頁上的位置不斷變化,用到動態(tài)Web技術(shù),此處采用J S P實(shí)現(xiàn),Web服務(wù)器采用Tomcat.使用百度地圖J S AP I根據(jù)指定城市坐標(biāo)加載指定等級的地圖,各成員位置信息用百度地圖覆蓋物描繪,并可響應(yīng)點(diǎn)擊事件顯示附帶的文字信息,代碼如下.
2.3 客戶端Android版
2.3.1 安卓智能終端S ervice服務(wù)開發(fā)
安卓系統(tǒng)中S ervice組件運(yùn)行于后臺,其主要目的是當(dāng)客戶端運(yùn)行后,S ervice組件獲取定位G P S數(shù)據(jù),并以每間隔時間發(fā)送位置信息到服務(wù)器端S ervlet組件,參考代碼如下.
2.3.2 客戶端顯示地圖
顯示地圖有兩種方式.一種不考慮流量和速度問題,可直接在客戶端瀏覽器中訪問服務(wù)器那個位置信息Web頁.另一種為節(jié)省客戶端數(shù)據(jù)流量,獲取S ervlet響應(yīng)的多個成員位置信息后,可加載本地地圖,在其上描繪多個位置信息.具體實(shí)現(xiàn)可參考高德地圖L BS開發(fā)平臺.
在Web頁<head>標(biāo)簽中加入標(biāo)簽<meta ht tp-e q uiv="ref resh"content="10">,可每隔10秒自動刷新頁面,獲取最新位置信息測試如圖2.
圖2 測試效果圖
現(xiàn)實(shí)生活中有時在戶外進(jìn)行團(tuán)隊活動時,需要了解各成員的位置信息,這就需要一個位置共享系統(tǒng).目前很多位置共享系統(tǒng)功能太過復(fù)雜,本文根據(jù)需求設(shè)計并實(shí)現(xiàn)了一個簡易位置共享系統(tǒng),該系統(tǒng)搭建快速方便,訪問安全可靠.在此基礎(chǔ)上,還可對該平臺進(jìn)行功能擴(kuò)展,比如成員路徑跟蹤記錄,增加允許查看全體成員的權(quán)限,隱藏自身位置等.
[1]百度百科-L BS詞條[E B/O L].ht tp://bai k e.baidu.com.
[2]百度地圖J S AP I[E B/O L].ht tp://developer.baidu.com/ map/inde x.php.
[3](美國)J ohn R esig.精通J ava S cript[M].陳賢安,江疆,譯.北京:人民郵電出版社,2008.
[4](加)克尼亞萬.S ervlet和J S P學(xué)習(xí)指南[M].崔毅,俞哲皆,俞黎敏,譯.北京:機(jī)械工業(yè)出版社,2013.
[5]明日科技.A ndroid從入門到精通[M].北京:清華大學(xué)出版社,2012.
責(zé)任編輯:張隆輝
TP311
A
1672-2094(2015)03-0151-03
2015-03-23
錢立(1978-),男,四川遂寧人,四川職業(yè)技術(shù)學(xué)院講師,碩士.研究方向:J ava/J S P,移動應(yīng)用開發(fā)A ndroid和J ava M E,數(shù)據(jù)庫應(yīng)用.