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