于 營(yíng)
(三亞學(xué)院, 海南 三亞 572000)
LBS(Location Based Service,基于位置的服務(wù)),是通過(guò)電信移動(dòng)運(yùn)營(yíng)商的無(wú)線電通訊網(wǎng)絡(luò)(如GSM網(wǎng)、CDMA網(wǎng))或外部定位方式(如GPS)獲取移動(dòng)終端用戶的位置信息,在地理信息系統(tǒng)平臺(tái)的支持下,為用戶提供相應(yīng)服務(wù)的一種增值業(yè)務(wù)。隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,定位功能已經(jīng)成為移動(dòng)終端的基本配置。
截止2017年4月,Android OS的市場(chǎng)占有率己經(jīng)到達(dá)了86.4%,遠(yuǎn)遠(yuǎn)超過(guò)蘋(píng)果的IOS的市場(chǎng)占有率,并且還在發(fā)展?,F(xiàn)如今市場(chǎng)上有百度、高德等許多優(yōu)質(zhì)的地圖API提供者,本文系統(tǒng)就是應(yīng)用了百度地圖的API[1]。
本應(yīng)用在Eclipse上進(jìn)行開(kāi)發(fā)。Eclipse是一款開(kāi)放源碼,基于JAVA的開(kāi)發(fā)平臺(tái),具有很強(qiáng)的擴(kuò)展性,它提供了一個(gè)標(biāo)準(zhǔn)的擴(kuò)展集,用于各種插件的擴(kuò)展。正是由于Eclipse擁有這種強(qiáng)大的擴(kuò)展性,使得Eclipse可用于各種各樣的開(kāi)發(fā),包括本系統(tǒng)所用的安卓開(kāi)發(fā)。
百度地圖API是一個(gè)面向開(kāi)發(fā)者提供的基于百度地圖的應(yīng)用接口,包括各種各樣的開(kāi)發(fā)工具和服務(wù),包括基本地圖、定位,搜索、路線規(guī)劃等功能,支持多設(shè)備、多系統(tǒng)、多平臺(tái)下的開(kāi)發(fā),支持JS API、WEB API、Android SDK、微信小程序等接口。本系統(tǒng)將用到百度地圖Android SDK的API,用于系統(tǒng)中的定位和路徑搜索功能等[2-3]。
BMOB后端云面向廣大開(kāi)發(fā)者提供,致力于解決服務(wù)器問(wèn)題。它提供了優(yōu)秀的數(shù)據(jù)存儲(chǔ)功能,簡(jiǎn)單的數(shù)據(jù)修改功能,以及對(duì)數(shù)據(jù)的離線操作功能。
系統(tǒng)功能模塊劃分如圖1所示。
圖1 系統(tǒng)層次圖
1)注冊(cè)登錄:用戶設(shè)置自己的用戶名密碼、性別以及頭像,上傳到BMOB后端云服務(wù)器,登錄時(shí)通過(guò)密碼MD5值匹配進(jìn)行確認(rèn)密碼是否正確。
2)PM2.5:PM2.5的實(shí)時(shí)監(jiān)測(cè)和顯示。
3)定位功能:用戶通過(guò)GPS定位功能,在系統(tǒng)中實(shí)時(shí)顯示自己的位置。
4)運(yùn)動(dòng)軌跡:用戶可以在系統(tǒng)上查看自己在最近一段時(shí)間內(nèi)走過(guò)的路徑。
5)路徑規(guī)劃:提供公交查詢、駕車查詢、步行查詢?nèi)N方式給用戶規(guī)劃自己的路線,方便用戶出行。
6)日志記錄:相當(dāng)于一個(gè)備忘錄的功能。
Step1:百度地圖KEY申請(qǐng)。使用百度地圖的功能與服務(wù)之前,必須先在百度地圖開(kāi)放平臺(tái)申請(qǐng)一個(gè)屬于自己開(kāi)發(fā)程序的API key。登錄百度地圖開(kāi)放平臺(tái)http://lbsyun.baidu.com/,注冊(cè)并且登錄。
Step2:打開(kāi) Eclipse,依次點(diǎn)擊 window-An-droid-Build,獲取發(fā)布版SHA1。
Step3:獲取百度地圖key,選擇Android SDK后,依次填入應(yīng)用名稱,開(kāi)發(fā)版SHA1,包名,獲取的百度地圖key,如下圖2。
圖2 百度地圖API圖
Step1:注冊(cè)登錄BMOB后端云http://www.bmob.cn/,創(chuàng)建應(yīng)用。
Step2:打開(kāi)應(yīng)用,選擇設(shè)置,獲取Application ID,如圖3所示。
圖3 BMOB后端云AppID圖
Step1:在系統(tǒng)開(kāi)始設(shè)計(jì)之前要先進(jìn)行百度地圖工具包的配置以及BMOB工具包的配置,在libs文件夾下添加文件及文件夾,主要包括用于百度地圖定位功能以及路徑規(guī)劃的JAR工具包SDK,以及BMOB后端云的工具包SDK。
Step2:百度地圖API接入,在AndroidMainfest.mxl中添加如下代碼:
Step3:BMOB后端云接入,新建一個(gè)java文件名為AppApplacation添加如下代碼:
主界面主要包含每個(gè)界面功能的接口,提供6個(gè)Button,包括運(yùn)動(dòng)起始停止按鈕、PM2.5的顯示、運(yùn)動(dòng)軌跡的查看、路線規(guī)劃、記錄日志。
注冊(cè)功能:輸入用戶名和密碼,點(diǎn)擊注冊(cè),提示保存成功。查看BMOB后端云數(shù)據(jù),服務(wù)器上存在test1這條數(shù)據(jù),說(shuō)明注冊(cè)成功。如圖4、圖5。
圖4 注冊(cè)測(cè)試圖
圖5 登錄測(cè)試圖
成功獲取到PM2.5信息,功能正確,如圖6。
定位功能主要是不間斷規(guī)律地獲取定位信息,然后根據(jù)每次獲取的位置信息連點(diǎn)成線,軌跡繪制模塊可以根據(jù)用戶的運(yùn)動(dòng)軌跡,在地圖上繪制出來(lái),讓用戶看到自己走過(guò)的路線。獲取當(dāng)前的正確位置信息。
圖6 PM2.5圖
路線規(guī)劃功能主要是用于提供運(yùn)動(dòng)時(shí)的方向、起點(diǎn)及終點(diǎn)路徑,給使用者進(jìn)行方向指引,另外兼具了公交查詢、駕車路徑查詢的功能。
日志記錄主要是用于日常安排的記錄,包括行程的安排、運(yùn)動(dòng)量。兼具了備忘錄的功能,用戶不必再切換到其他的備忘錄應(yīng)用即可查看自己的計(jì)劃以及記錄,極大程度地提高用戶的體驗(yàn)度。隨意輸入字符點(diǎn)擊保存,文本信息保存成功,如圖7。成功保存,功能正常,如圖8。
圖7 日志記錄測(cè)試圖
圖8 日志記錄測(cè)試圖