朱孔強 丁林花 朱立順 聶國豪 席永科
摘要:移動互聯網的快速發展,Android智能手機的普及,基于位置服務(LBS)的手機應用得到越來越多的人們的青睞,人們的生活出行日益依賴手機APP,手機地圖導航領域也在隨之不斷延伸,手機地圖導航已成為移動開發的熱點之一。本課題的研究目的是利用當前百度鷹眼為Android提供的API進行二次開發,為學生提供查詢校園巴士及導航服務。
關鍵詞:Android;百度鷹眼SDK;百度地圖API
中圖分類號:TN919.6 文獻標識碼:A 文章編號:1007-9416(2018)04-0042-02
1 引言
當前校園中“人車矛盾”已經非常顯著,基于臨沂大學為亞洲單體面積最大校園的這個實際情況,這就給大部分同學帶來了一定的困擾(尤其是宿舍樓到公共教育設施距離較遠的那些同學),所以催生了校園巴士這一交通工具的出現。校園巴士的出現給同學們帶來了一定的便利,但是,還是存在一些不方便的情況。例如:同學們等車時間過長或者處于緊急情況下無法立即用車的窘況。這是由于校園巴士系統本身就不完善所造成的。為了解決這些實際問題和完善校園巴士系統,所以我們就為校園巴士開發了巴士軌跡跟蹤系統。
移動互聯網的快速發展, Android智能手機的普及,基于位置服務(LBS)的手機應用得到越來越多的人們的青睞,人們的生活出行日益依賴手機APP,手機地圖導航領域也在隨之不斷延伸,手機地圖導航已成為移動開發的熱點之一。但是目前沒有一款正式的可以幫助學生定位校園巴士的APP,開發一款能夠便捷引領學生定位校園巴士的手機APP迫在眉睫。
百度地圖是國產地圖的領頭者,百度在發展的同時,也鼓勵開發者進行百度地圖在各個開發領域的應用。本課題利用百度地圖為開發者提供的二次開發API,使用百度地圖SDK,百度LBS,百度云存儲,百度云檢索等設計開發一款便捷的手機APP便于學生出行。
2 相關技術
2.1 Android技術
Android開發是Android平臺上應用的制作,展開了短信、手機檢索、定位等業務,基于Linux的通用平臺進入了開發。Android 是Google開發的基于Linux平臺的開源手機操作系統。它包括操作系統、用戶界面和應用程序——移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產業創新的專有權障礙。在國內手機市場當中,Android操作系統占據了市場份額,是毋庸置疑的王者。
2.2 百度鷹眼SDK
百度鷹眼SDK是一套軌跡管理服務,提供各端SDK和API供開發者便捷接入,追蹤您所管理的車輛/人員等運動物體。基于鷹眼提供的接口和云端服務,開發者可以迅速構建一套完全屬于您自己的完整、精準且高性能的軌跡管理系統,可應用于車隊管理、人員管理等領域。并且每一個應用提供1000萬終端以上軌跡管理能力,并且支持全球軌跡追蹤。鷹眼提供多種API和SDK供開發者從各種終端追蹤軌跡,如:手機、GPS定位器、智能后視鏡等硬件設備。此外,鷹眼也支持開發者從服務端上傳軌跡。
開發者實時查詢任意時段的軌跡。實時查詢是指:軌跡點一旦成功上傳到鷹眼云端,在小于100毫秒的時間內,即可通過接口查詢到該軌跡點。鷹眼還提供軌跡批量導出功能,供開發者下載歷史軌跡數據[1]。
3 系統設計
3.1 系統總體架構
系統整體架構如圖1所示,系統主要包括四大功能模塊:校園巴士數據存儲和查詢,軌跡生成,學生端與司機端的交互;定位導航模塊[2]。
用戶坐標存儲和查詢負責完成司機坐標和用戶坐標及相關信息的存儲于查詢,軌跡生成根據用戶的一段時間內行走的軌跡進行圖瞄,然后根據軌跡分析可以獲取司機在則一段時間內最常去的地方;學生端和司機端的交互主要實現需求的完成,讓司機端根據乘客的分布根據百度地圖制定一條最短路徑,,定位導航模塊是本系統的核心模塊,負責對當前用戶位置進行實時定位與更新,完成司機端的導航的工作。下面對四個模塊進行具體分析和介紹。
3.2 系統各個功能塊設計
(1)用戶坐標存儲和查詢功能模塊。校園巴士發車班次及發車時間數據較大,手機存儲空間有限,將這些數據用手機本地存儲不現實。因此,本部分主要研究如何將這些數據存儲到百度云端,以及如何在手機端檢索云端校園巴士數據。(2)軌跡生成模塊。該模塊主要功能主要是獲取司機端實時的位置,實現軌跡的實時繪制,根據軌跡的繪制可以幫助司機端合理的安排工作地點,盡量避免擁塞,也可以讓學生端選擇一輛校園巴士進行實時的跟蹤。(3)學生端與司機端進行交互模塊。該模塊主要功能就是學生端和司機端每隔五分鐘向服務器進行提交請求,服務器根據雙方都需求進行資源的合理調度,這里服務器是搭建在京東云上面,京東云服務器具有安全、可靠、便捷、高性價比的基礎云服務,讓應用服務運行更順暢等優點,這正符合本APP的需求。(4)定位導航模塊。該模塊主要功能就是并根據當前定位坐標和乘客要到達的位置重新計算導航數據。然后調用百度地圖手機客戶端的導航功能,實現重新導航以及最佳路線制定。
4 系統實現
本項目實現首先進行相關的準備工作,包含以下三點[3]:
(1)基于百度地圖API開發APP,首先需要申請秘鑰AK,本項目所開發的APP通過http://lbsyun.baidu.com/apiconsole/key申請AK,這里本系統根據項目開發需要申請的是Android SDK的應用類型。
(2)使用第三方服務器京東云,首先需要在申請一定額度的服務器資源https://www.jcloud.com/index,這里根據本系統的需求申請了一個小型的服務器所必須的要求的配置。
(3)配置百度鷹眼的數據管理平臺,配置的內容主要是生成一個數據表,包括用戶請求的坐標還有主鍵登設置。
準備工作完成后,即進入系統開發階段。本項目在開發階段直接在Android Studio開發平臺進行,并導入手機測試實現。點擊手機應用圖標即可打開此系統應用,進入APP初級主界面,如圖2所示。
導航核心代碼如圖3所示。
首先學生端在發出”我要乘車”的請求,然后服務器根據學生端的請求,結合資源的管理進行合理的分配學生給司機端,司機端響應服務器的調配,然后根據導航類里面的startNavi()這個功能啟用百度地圖APP進行導航根據百度地圖規劃的最短路徑前去接乘客前往目的地,登校園巴士到達目的地時,調用百度鷹眼的圍欄報警功能,通知乘客已到達指定位置并下車。
5 結語
隨著現代社會的發展,人們對于實時性和方便性的要求逐漸增加,在社會中為了增加實時性和交通方便性的體驗,各式各樣的移動設備應用程序如雨后春筍,一一出現,而在校園之中,未能有一款切實了解校車的實時動態以解決學生方便性問題的應用程序APP。本文設計開發的基于百度鷹眼的校園巴士軌跡跟蹤系統采用了百度鷹眼SDK,它提供各端SDK和API供開發者便捷接入,可以追蹤所管理的車輛/人員等運動物體。通過手機、GPS定位器、智能后視鏡等硬件設備獲取追蹤軌跡,在云端定位數據、LBS接口將數據同步到手機端,形成了司機和同學們間的一種交互,使用戶可通過客戶端查看校車的實時動態信息以及調用導航,從而實現準確無誤的確認校車位置,從而切實解決人等車、車等人的問題。系統操作簡單,注重細節處理,優化用戶體驗,為用戶提供校園校車查詢和導航服務,能夠有效地解決學生盲等和白等的問題,也大大的提高了校車的利用價值。既方便了學生出行,又展現出校園的井然有序,一道亮麗的風景線也由此形成。
參考文獻
[1]郭霖.第一行代碼Android[M].人民郵電出版社,2016.
[2]李剛,著.瘋狂Java講義(第2版)[M].電子工業出版社,2012.
[3]郭宏志.Android應用開發詳解[M].北京:電子工業出版社,2010.