周建偉 孟莉莉 藍(lán)建平
【摘 要】本文將移動(dòng)位置服務(wù)和傳統(tǒng)信息系統(tǒng)相結(jié)合,在百度地圖API的基礎(chǔ)上加入校園地圖圖層和POI信息,實(shí)現(xiàn)了基于Android的校園位置服務(wù)系統(tǒng),在移動(dòng)平臺(tái)上向用戶(hù)提供基于LBS的定位、導(dǎo)航及信息服務(wù),對(duì)“智慧校園”的建設(shè)進(jìn)行了有意義的探索。
【關(guān)鍵詞】位置服務(wù);百度LBS;POI
中圖分類(lèi)號(hào): TN929.5文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 2095-2457(2019)03-0044-002
DOI:10.19694/j.cnki.issn2095-2457.2019.03.016
Design and Implementation of campus location service system based on Android
ZHOU Jian-wei MENG Li-li LAN Jian-ping
(Jiaxing Vocational and Technical College, Jiaxing Zhejiang 314036,China)
【Abstract】On the basis of baidu map API, adding the campus map layer and POI information and combining mobile location service with information system., realize the campus location service system based on Android. This system provides users with location, navigation and information services based on LBS and conduct meaningful exploration on the construction of “smart campus”.
【Key words】Location Based Services; Baidu LBS;POI
0 引言
隨著移動(dòng)互聯(lián)網(wǎng)等技術(shù)的迅猛發(fā)展,“互聯(lián)網(wǎng)+”應(yīng)用不斷滲透到教育中,各學(xué)校都開(kāi)展了以建設(shè)“智慧化校園”為核心的信息化建設(shè),但是目前大部分都是以信息服務(wù)為核心,并沒(méi)有將移動(dòng)互聯(lián)網(wǎng)獨(dú)有的位置信息融入到信息化服務(wù)中,無(wú)法為用戶(hù)提供校內(nèi)詳細(xì)、準(zhǔn)確的基于位置的信息服務(wù)。目前百度、高德等位置服務(wù)提供者在小區(qū)域范圍內(nèi)的信息展示做的還有所欠缺,沒(méi)有提供如校園等的小區(qū)域內(nèi)的位置服務(wù)[1],如何將位置服務(wù)與傳統(tǒng)信息服務(wù)有效的結(jié)合起來(lái),在移動(dòng)平臺(tái)上向用戶(hù)提供特定的基于位置服務(wù)的定位、導(dǎo)航功能以及信息查詢(xún)服務(wù),成為學(xué)校信息化建設(shè)中需要優(yōu)先考慮的問(wèn)題,具有十分必要的現(xiàn)實(shí)意義。
1 移動(dòng)位置服務(wù)
移動(dòng)位置服務(wù)指移動(dòng)通信網(wǎng)利用定位技術(shù)獲取移動(dòng)終端使用者的地理位置信息,為用戶(hù)提供信息服務(wù)的一種移動(dòng)服務(wù)。百度位置服務(wù)(LBS)是為開(kāi)發(fā)者們提供的一套基于百度地圖服務(wù)的應(yīng)用接口,被廣泛應(yīng)用于移動(dòng)設(shè)備、互聯(lián)網(wǎng)等領(lǐng)域[2],目前已有許多將百度LBS與傳統(tǒng)的信息系統(tǒng)相結(jié)合并成功應(yīng)用的案例。謝黨恩等人以空間信息為基礎(chǔ)數(shù)據(jù),利用Java Scrip等技術(shù)實(shí)現(xiàn)了基于百度地圖API的校園導(dǎo)航系統(tǒng)[3];蘭燕等人使用Arcgis制作校園瓦片地圖,基于百度地圖構(gòu)建校園導(dǎo)航地圖[4],并基于移動(dòng)終端實(shí)現(xiàn)了新生入學(xué)校園導(dǎo)航系統(tǒng)[5]。本系統(tǒng)正是在百度LBS的基礎(chǔ)上,加入自定義校園圖層和地理信息,構(gòu)建基于Android的移動(dòng)位置服務(wù)系統(tǒng)為師生提供基于校園地圖的位置服務(wù)和信息服務(wù)。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)架構(gòu)
系統(tǒng)由Android手機(jī)客戶(hù)端和Web服務(wù)器端組成,系統(tǒng)架構(gòu)如圖1所示。
Android客戶(hù)端移動(dòng)應(yīng)用采用AndroidStudio2.3集成開(kāi)發(fā)環(huán)境開(kāi)發(fā),功能主要分為兩部分,一是基于位置服務(wù)的定位、導(dǎo)航以及地圖服務(wù),此部分依托于百度LBS服務(wù),通過(guò)加入自定義地圖圖層和校內(nèi)自定義POI實(shí)現(xiàn)校園內(nèi)位置服務(wù);另一部分是和個(gè)人、校園信息相關(guān)的信息服務(wù),通過(guò)HTTP協(xié)議訪問(wèn)Web服務(wù)端,獲取數(shù)據(jù);系統(tǒng)Web服務(wù)器端,使用SSM框架和MySql數(shù)據(jù)庫(kù),基于MVC的分層架構(gòu)思想設(shè)計(jì),完成業(yè)務(wù)處理邏輯以及數(shù)據(jù)持久化功能,其中客戶(hù)端與服務(wù)器交互的數(shù)據(jù)格式,設(shè)計(jì)采用簡(jiǎn)潔方便的JSON數(shù)據(jù)格式,關(guān)鍵數(shù)據(jù)使用MD5加密,實(shí)現(xiàn)數(shù)據(jù)的交互。
2.2 系統(tǒng)功能結(jié)構(gòu)
系統(tǒng)主要實(shí)現(xiàn)登錄注冊(cè)、個(gè)人信息設(shè)置、地圖展示與定位、校園導(dǎo)航和校園信息服務(wù)功能,如圖2所示。
其中,登錄注冊(cè)模塊主要完成帳號(hào)的注冊(cè)以及用戶(hù)的登錄和權(quán)限的分配;個(gè)人信息設(shè)置模塊實(shí)現(xiàn)設(shè)置用戶(hù)所在學(xué)院、班級(jí)以及其他個(gè)人信息,服務(wù)端可根據(jù)用戶(hù)個(gè)人信息設(shè)置相應(yīng)的權(quán)限;地圖展示與定位模塊提供查看學(xué)校的詳細(xì)地圖、開(kāi)啟定位功能顯示當(dāng)前所在位置,并可根據(jù)當(dāng)前位置,查詢(xún)周?chē)@服務(wù)(POI)等功能;導(dǎo)航模塊主要實(shí)現(xiàn)查詢(xún)校內(nèi)地點(diǎn)位置和相關(guān)信息,并可進(jìn)行路徑規(guī)劃和校內(nèi)導(dǎo)航;校園信息模塊可接收服務(wù)端的校園信息推送、查看學(xué)校新聞和最新的通知通告等校園信息服務(wù)。
2.3 關(guān)鍵技術(shù)
2.3.1 校園地圖展示
目前百度等位置服務(wù)提供者主要致力于城市級(jí)別的位置服務(wù),要實(shí)現(xiàn)校園內(nèi)部詳細(xì)信息的展示,需要在百度地圖的基礎(chǔ)上通過(guò)添加自定義圖層,完善地圖信息,以彌補(bǔ)百度地圖在小區(qū)域內(nèi)地理信息不足的缺陷。使用ArcGIS圖形處理軟件制作完成校園的矢量地形圖和瓦片地圖[4],使用本地加載的方式將瓦片圖層添加在百度底圖之上。首先實(shí)現(xiàn)FileTileProvider抽象類(lèi)來(lái)加載瓦片圖資源,并通過(guò)TileOverlayOptions類(lèi)設(shè)置,然后使用addTileLayer方法將TileOverlayOptions對(duì)象添加至百度底圖之上。關(guān)鍵代碼如下:
2.3.2 校園POI檢索
校園內(nèi)的很多POI點(diǎn)在百度地圖中是不存在的。為了解決此問(wèn)題,需要自定義校園POI信息,有的系統(tǒng)是采用自定義文件或者數(shù)據(jù)庫(kù)存放本地POI信息[6],但需要開(kāi)發(fā)者自己實(shí)現(xiàn)位置數(shù)據(jù)存儲(chǔ)、空間計(jì)算和處理檢索時(shí)效性。百度提供了LBS.云服務(wù),可以解決基于位置數(shù)據(jù)的空間數(shù)據(jù)庫(kù)管理、維護(hù)問(wèn)題和基于位置的空間檢索問(wèn)題,因此系統(tǒng)采用百度LBS云服務(wù)存儲(chǔ)和管理校園POI類(lèi)型、名字、經(jīng)緯度、位置等信息。在POI檢索時(shí),使用百度云檢索服務(wù)SDK實(shí)現(xiàn)對(duì)存儲(chǔ)在云端的校園POI數(shù)據(jù)的高效檢索。
3 結(jié)論
目前移動(dòng)位置服務(wù)已經(jīng)成為移動(dòng)互聯(lián)網(wǎng)的標(biāo)準(zhǔn)配置,廣泛應(yīng)用于手機(jī)導(dǎo)航、智慧城市、應(yīng)急救援等眾多領(lǐng)域中。在學(xué)校信息化建設(shè)中,校園的地圖和定位、導(dǎo)航功能也是其必不可少的一部分。而本文真是基于Android和百度LBS,將位置服務(wù)和傳統(tǒng)信息系統(tǒng)有效結(jié)合,在移動(dòng)平臺(tái)上實(shí)現(xiàn)校園位置服務(wù)系統(tǒng),向用戶(hù)提供特定的基于位置服務(wù)的定位、導(dǎo)航功能以及信息查詢(xún)服務(wù),為智慧校園的建設(shè)提供了積極有益的探索和技術(shù)基礎(chǔ)。
【參考文獻(xiàn)】
[1]謝奇愛(ài),董宜文.基于LBS的合肥學(xué)院校園個(gè)性化服務(wù)APP的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2017,13(28):107-109.
[2]潘安寧,楊昆.基于百度地圖API的校園綜合信息服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2016(12):72-74.
[3]謝黨恩,頓貝貝,張志立.基于百度地圖API的校內(nèi)路徑導(dǎo)航系統(tǒng)的實(shí)現(xiàn)[J].許昌學(xué)院學(xué)報(bào),2014(2):78-81.
[4]蘭燕,吳明東,余代俊.基于百度地圖API高校移動(dòng)導(dǎo)航地圖制作[J].測(cè)繪,2015(38):249-253.
[5]蘭燕,易鵬,吳明東,等.基于移動(dòng)終端的新生入學(xué)導(dǎo)航系統(tǒng)[J].測(cè)繪科學(xué),2016,41(10):170-175.
[6]孫杰,秦健勇,等.基于Android的校園導(dǎo)航系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].智能計(jì)算機(jī)與應(yīng)用,2016(6):90-92.