周建偉 孟莉莉 藍建平
【摘 要】本文將移動位置服務和傳統信息系統相結合,在百度地圖API的基礎上加入校園地圖圖層和POI信息,實現了基于Android的校園位置服務系統,在移動平臺上向用戶提供基于LBS的定位、導航及信息服務,對“智慧校園”的建設進行了有意義的探索。
【關鍵詞】位置服務;百度LBS;POI
中圖分類號: TN929.5文獻標識碼: A文章編號: 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 引言
隨著移動互聯網等技術的迅猛發展,“互聯網+”應用不斷滲透到教育中,各學校都開展了以建設“智慧化校園”為核心的信息化建設,但是目前大部分都是以信息服務為核心,并沒有將移動互聯網獨有的位置信息融入到信息化服務中,無法為用戶提供校內詳細、準確的基于位置的信息服務。目前百度、高德等位置服務提供者在小區域范圍內的信息展示做的還有所欠缺,沒有提供如校園等的小區域內的位置服務[1],如何將位置服務與傳統信息服務有效的結合起來,在移動平臺上向用戶提供特定的基于位置服務的定位、導航功能以及信息查詢服務,成為學校信息化建設中需要優先考慮的問題,具有十分必要的現實意義。
1 移動位置服務
移動位置服務指移動通信網利用定位技術獲取移動終端使用者的地理位置信息,為用戶提供信息服務的一種移動服務。百度位置服務(LBS)是為開發者們提供的一套基于百度地圖服務的應用接口,被廣泛應用于移動設備、互聯網等領域[2],目前已有許多將百度LBS與傳統的信息系統相結合并成功應用的案例。謝黨恩等人以空間信息為基礎數據,利用Java Scrip等技術實現了基于百度地圖API的校園導航系統[3];蘭燕等人使用Arcgis制作校園瓦片地圖,基于百度地圖構建校園導航地圖[4],并基于移動終端實現了新生入學校園導航系統[5]。本系統正是在百度LBS的基礎上,加入自定義校園圖層和地理信息,構建基于Android的移動位置服務系統為師生提供基于校園地圖的位置服務和信息服務。
2 系統設計
2.1 系統架構
系統由Android手機客戶端和Web服務器端組成,系統架構如圖1所示。
Android客戶端移動應用采用AndroidStudio2.3集成開發環境開發,功能主要分為兩部分,一是基于位置服務的定位、導航以及地圖服務,此部分依托于百度LBS服務,通過加入自定義地圖圖層和校內自定義POI實現校園內位置服務;另一部分是和個人、校園信息相關的信息服務,通過HTTP協議訪問Web服務端,獲取數據;系統Web服務器端,使用SSM框架和MySql數據庫,基于MVC的分層架構思想設計,完成業務處理邏輯以及數據持久化功能,其中客戶端與服務器交互的數據格式,設計采用簡潔方便的JSON數據格式,關鍵數據使用MD5加密,實現數據的交互。
2.2 系統功能結構
系統主要實現登錄注冊、個人信息設置、地圖展示與定位、校園導航和校園信息服務功能,如圖2所示。
其中,登錄注冊模塊主要完成帳號的注冊以及用戶的登錄和權限的分配;個人信息設置模塊實現設置用戶所在學院、班級以及其他個人信息,服務端可根據用戶個人信息設置相應的權限;地圖展示與定位模塊提供查看學校的詳細地圖、開啟定位功能顯示當前所在位置,并可根據當前位置,查詢周圍校園服務(POI)等功能;導航模塊主要實現查詢校內地點位置和相關信息,并可進行路徑規劃和校內導航;校園信息模塊可接收服務端的校園信息推送、查看學校新聞和最新的通知通告等校園信息服務。
2.3 關鍵技術
2.3.1 校園地圖展示
目前百度等位置服務提供者主要致力于城市級別的位置服務,要實現校園內部詳細信息的展示,需要在百度地圖的基礎上通過添加自定義圖層,完善地圖信息,以彌補百度地圖在小區域內地理信息不足的缺陷。使用ArcGIS圖形處理軟件制作完成校園的矢量地形圖和瓦片地圖[4],使用本地加載的方式將瓦片圖層添加在百度底圖之上。首先實現FileTileProvider抽象類來加載瓦片圖資源,并通過TileOverlayOptions類設置,然后使用addTileLayer方法將TileOverlayOptions對象添加至百度底圖之上。關鍵代碼如下:
2.3.2 校園POI檢索
校園內的很多POI點在百度地圖中是不存在的。為了解決此問題,需要自定義校園POI信息,有的系統是采用自定義文件或者數據庫存放本地POI信息[6],但需要開發者自己實現位置數據存儲、空間計算和處理檢索時效性。百度提供了LBS.云服務,可以解決基于位置數據的空間數據庫管理、維護問題和基于位置的空間檢索問題,因此系統采用百度LBS云服務存儲和管理校園POI類型、名字、經緯度、位置等信息。在POI檢索時,使用百度云檢索服務SDK實現對存儲在云端的校園POI數據的高效檢索。
3 結論
目前移動位置服務已經成為移動互聯網的標準配置,廣泛應用于手機導航、智慧城市、應急救援等眾多領域中。在學校信息化建設中,校園的地圖和定位、導航功能也是其必不可少的一部分。而本文真是基于Android和百度LBS,將位置服務和傳統信息系統有效結合,在移動平臺上實現校園位置服務系統,向用戶提供特定的基于位置服務的定位、導航功能以及信息查詢服務,為智慧校園的建設提供了積極有益的探索和技術基礎。
【參考文獻】
[1]謝奇愛,董宜文.基于LBS的合肥學院校園個性化服務APP的設計與實現[J].電腦知識與技術,2017,13(28):107-109.
[2]潘安寧,楊昆.基于百度地圖API的校園綜合信息服務系統的設計與實現[J].電腦知識與技術,2016(12):72-74.
[3]謝黨恩,頓貝貝,張志立.基于百度地圖API的校內路徑導航系統的實現[J].許昌學院學報,2014(2):78-81.
[4]蘭燕,吳明東,余代俊.基于百度地圖API高校移動導航地圖制作[J].測繪,2015(38):249-253.
[5]蘭燕,易鵬,吳明東,等.基于移動終端的新生入學導航系統[J].測繪科學,2016,41(10):170-175.
[6]孫杰,秦健勇,等.基于Android的校園導航系統的設計與實現[J].智能計算機與應用,2016(6):90-92.