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