蔡凱文
摘 要:在這個(gè)智能手機(jī)被大家廣泛應(yīng)用的時(shí)代,智能手機(jī)甚至能夠替代龐大的計(jì)算機(jī)來(lái)完成工作。本論文旨在設(shè)計(jì)實(shí)現(xiàn)手機(jī)導(dǎo)航系統(tǒng),系統(tǒng)是基于Android操作系統(tǒng),結(jié)合百度地圖API和Dijkstra算法,利用Java語(yǔ)言實(shí)現(xiàn)的。本系統(tǒng)利用百度地圖 API 接口和Dijkstra算法設(shè)計(jì)開發(fā)一個(gè)提供在線定位、導(dǎo)航和生活信息的導(dǎo)航系統(tǒng)軟件。該軟件具有用戶界面良好、反應(yīng)速度快和用戶體驗(yàn)出色等特點(diǎn)。
關(guān)鍵詞:手機(jī)校園;Android開發(fā);手機(jī)導(dǎo)航
手機(jī)導(dǎo)航(英文名稱:Mobile Navigation)是通過(guò)智能手機(jī)進(jìn)行導(dǎo)航的一個(gè)程序軟件,把用戶從目前所在的地方帶到另一個(gè)用戶想要到達(dá)的地方。校園導(dǎo)航系統(tǒng)是專門針對(duì)學(xué)生,老師,新生家長(zhǎng),對(duì)校園不熟的人而做的一個(gè)系統(tǒng),開發(fā)的是一種以管理為基礎(chǔ)的地圖導(dǎo)航系統(tǒng),它涵蓋校園地圖管理服務(wù)的眾多環(huán)節(jié),將以前的原始地圖查詢方式改為現(xiàn)在的先進(jìn)的智能查詢模式。
現(xiàn)在高校人數(shù)和高校數(shù)量漸漸增多,而且高校面積一般都比較大,導(dǎo)致許多新來(lái)的來(lái)訪者想要到達(dá)目的地,需要比較麻煩和繁瑣的詢問(wèn),設(shè)計(jì)手機(jī)校園導(dǎo)航系統(tǒng)利于來(lái)訪者更加快速的到達(dá)的目的地,這就減少了來(lái)訪者的麻煩,同時(shí)對(duì)高校新生來(lái)到新的環(huán)境提供了優(yōu)良的指路明燈。所以,設(shè)計(jì)校園導(dǎo)航對(duì)來(lái)訪者和高校新生有重要的意義。
1 百度地圖API
百度地圖API是百度公司免費(fèi)提供給開發(fā)人員的地圖調(diào)用接口,因?yàn)榘俣鹊貓DAPI免費(fèi)開發(fā),現(xiàn)如今受到廣泛開發(fā)人員的歡迎,調(diào)用百度地圖API接口的應(yīng)用程序?qū)崿F(xiàn)了定位、地圖顯示等功能,本論文主要利用API顯示地圖的形式,通過(guò)校園導(dǎo)航系統(tǒng)給用戶展示地圖。
2 開發(fā)環(huán)境搭建
校園導(dǎo)航系統(tǒng)是基于Android的應(yīng)用開發(fā),本次開發(fā)是采用eclipse工具,eclipse使用就需要配置Java環(huán)境,首先需要安裝Java jdk、Android sdk、安裝eclipse集成開發(fā)環(huán)境、安裝Android開發(fā)工具ADT、設(shè)置ADT。
3 Dijkstra算法
迪杰斯特拉算法是由荷蘭計(jì)算機(jī)科學(xué)家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是從一個(gè)頂點(diǎn)到其余各頂點(diǎn)的最短路徑算法,解決的是有向圖中最短路徑問(wèn)題。迪杰斯特拉算法主要特點(diǎn)是以起始點(diǎn)為中心向外層層擴(kuò)展,直到擴(kuò)展到終點(diǎn)為止。
本文將導(dǎo)航系統(tǒng)分為以下幾個(gè)功能模塊:
1)當(dāng)前位置定位模塊:定位模塊通過(guò)手機(jī)無(wú)線網(wǎng)絡(luò)當(dāng)前所在位置利用基站定位,定位到手機(jī)當(dāng)前位置,使用戶的位置信息顯示在手機(jī)上的地圖。
2)步行路徑規(guī)劃模塊:在導(dǎo)航規(guī)劃中輸入起點(diǎn)和終點(diǎn),選擇步行出行方式,在校園導(dǎo)航系統(tǒng)步行路徑規(guī)劃模塊中,規(guī)劃出步行最優(yōu)路徑。
3)自駕路徑規(guī)劃模塊:在導(dǎo)航中輸入起點(diǎn)和終點(diǎn),選擇駕車出行方式,在校園導(dǎo)航系統(tǒng)駕車路徑規(guī)劃模塊中,規(guī)劃出自駕最優(yōu)路徑。
4)自行車路徑規(guī)劃模塊:在導(dǎo)航中輸入起點(diǎn)和終點(diǎn),選擇自行車出行方式,在校園導(dǎo)航系統(tǒng)自行車路徑規(guī)劃模塊中,規(guī)劃出自行車出行的最優(yōu)路徑。
5)路徑導(dǎo)航跟蹤模塊:在導(dǎo)航過(guò)程中,用戶可以根據(jù)導(dǎo)航路線跟蹤模塊進(jìn)行導(dǎo)航,導(dǎo)航系統(tǒng)給出導(dǎo)航路線上所經(jīng)過(guò)的點(diǎn)和方向的選擇。
6)周邊服務(wù)信息模塊:校園導(dǎo)航系統(tǒng)中對(duì)校園周邊服務(wù)信息進(jìn)行搜索,主要包括美食、酒店、公交站、醫(yī)院等等。
7)最短路徑算法模塊:主要針對(duì)我校的導(dǎo)航,在校園導(dǎo)航離線時(shí),手機(jī)具有我校地圖,在沒有無(wú)線網(wǎng)絡(luò)的情況下,校園導(dǎo)航系統(tǒng)采用Dijkstra算法,實(shí)現(xiàn)最短路徑導(dǎo)航規(guī)劃。
其功能模塊圖如圖1所示:
設(shè)計(jì)校園導(dǎo)航系統(tǒng)中主要針對(duì)校園特色性進(jìn)行設(shè)計(jì),使用戶更加了解校園內(nèi)部的環(huán)境與布局?,F(xiàn)在Android手機(jī)續(xù)航問(wèn)題一直是人們的詬病,在校園導(dǎo)航系統(tǒng)的功耗上,應(yīng)減少其功耗問(wèn)題,使用戶達(dá)到更好的續(xù)航;在系統(tǒng)運(yùn)行速度上,應(yīng)優(yōu)化系統(tǒng),使校園導(dǎo)航系統(tǒng)運(yùn)行更加流暢和穩(wěn)定。
參考文獻(xiàn):
[1] 代敏.基于Android平臺(tái)下手機(jī)定位程序的設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2012.
[2] 田森,李大和.用 Android 開發(fā)手機(jī)應(yīng)用[M].北京:北京希望電子出版社,2008:24-28.
[3] 余志龍,陳昱勛,鄭名杰,等.Android SDK 開發(fā)范例大全[M].北京:人民郵電出版社,2009.