基于Android平臺移動導(dǎo)航定位的研究與設(shè)計
摘要:隨著無線網(wǎng)絡(luò)技術(shù)的發(fā)展和Android平臺移動智能終端的普及,各具特色的基于位置的服務(wù)應(yīng)用接踵而至。由于全球定位系統(tǒng)GPS應(yīng)用領(lǐng)域的不斷延伸和擴展,傳統(tǒng)的LBS僅限于單方位置信息呈現(xiàn),已不能滿足人們?nèi)找嬖鲩L的社交網(wǎng)絡(luò)需求,實現(xiàn)移動導(dǎo)航定位具有現(xiàn)實的意義,開發(fā)基于Android平臺的LBS具有巨大潛力。本文提出一種新的LBS應(yīng)用場景——移動導(dǎo)航定位,并結(jié)合Android平臺應(yīng)用程序開發(fā)的特點及結(jié)合百度Map API,借簽C/S軟件設(shè)計模式設(shè)計一款方便實用的移動導(dǎo)航定位應(yīng)用系統(tǒng)。
本文引用地址:http://m.butianyuan.cn/article/201609/305046.htm引言
隨著Android平臺的智能終端走進了越來越多人的生活,基于位置服務(wù)(LBS)無疑是移動業(yè)務(wù)領(lǐng)域的一個重要組成部分。隨著世界經(jīng)濟的發(fā)展,我們逐漸生活在一個高樓大廈和如蜘蛛網(wǎng)般道路所建立的“水泥森林”當(dāng)中,在這“水泥森林”里要面臨大量標(biāo)志和規(guī)則在一個陌生的城市或城市的陌生街道里,即使知道目的地的位置,也會被大量的道路標(biāo)志和規(guī)則所攪亂,能否有一種方法來隨時導(dǎo)引我們向正確的方向前進呢?為了方便外出,少花時間找路、問人以及更及時地關(guān)注物流相關(guān)動態(tài),研究基于Android系統(tǒng)移動終端的導(dǎo)航定位技術(shù)就有了很好的應(yīng)用前景。
當(dāng)前基于位置服務(wù)的發(fā)展方向正趨向于個性化和本地化,不同的人群對基于位置的服務(wù)的功能和性能等方面都有不同的需求。目前提供導(dǎo)航服務(wù)的系統(tǒng)只是人與物或者物與物之間的導(dǎo)航,對于日常生活中兩個或者多個好友在一個陌生的城市,因為不熟悉彼此找不到或者容易走錯路導(dǎo)致不能見面,以及動態(tài)了解物流動態(tài)所在的位置的相關(guān)軟件還沒有出現(xiàn),本文基于Android平臺結(jié)合百度Map API相關(guān)功能設(shè)計實現(xiàn)一款移動導(dǎo)航定位服務(wù)系統(tǒng),從而為用戶提供功能更加方便、界面更加友好的移動導(dǎo)航定位服務(wù)。
1 系統(tǒng)設(shè)計方案
本文采用典型的C/S設(shè)計模式即客戶端和服務(wù)器結(jié)構(gòu),提出了一種更輕巧、簡便的系統(tǒng)設(shè)計方案,如圖1所示??蛻舳税惭b相應(yīng)的應(yīng)用軟件,遠程服務(wù)器存儲數(shù)據(jù),客戶端向服務(wù)器請求服務(wù),服務(wù)器向客戶端提供服務(wù)。以電子地圖為基礎(chǔ),集成用戶位置需求,綜合利用無線通信網(wǎng)絡(luò)(TD—SCDMA/LTE)、有線網(wǎng)絡(luò)的優(yōu)勢,實現(xiàn)多方用戶移動導(dǎo)航定位。
利用百度Map API技術(shù)構(gòu)建位置服務(wù)系統(tǒng),通過采用服務(wù)器、數(shù)據(jù)服務(wù)器、客戶端三層結(jié)構(gòu)來設(shè)計??蛻舳酥饕獙崿F(xiàn)的功能包括地圖基本功能操作,包括加載地圖、瀏覽地圖、地圖縮放、POI查詢及移動導(dǎo)航定位地圖顯示。服務(wù)器用主要于處理客戶端注冊、驗證登陸、服務(wù)查詢請求并響應(yīng),利用Map API將移動位置地理信息顯示地圖上。數(shù)據(jù)服務(wù)器主要被服務(wù)器存取用戶信息和各種空間數(shù)據(jù)。該系統(tǒng)運行穩(wěn)定,成本低,具有理論的可行性和實際的可用性。
2 關(guān)鍵技術(shù)研究
2.1 Android平臺及應(yīng)用開發(fā)
Android是一個由Linux+Java構(gòu)成的移動設(shè)備軟件框架,它包括一個操作系統(tǒng)、中間件和一些關(guān)鍵應(yīng)用。采用了分層的架構(gòu),如圖2所示。從架構(gòu)圖看,Android分為4層,分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層和Linux核心層,具有平臺標(biāo)準(zhǔn)化、用戶可定制以及服務(wù)免費等特色。
Android程序的載體是各個應(yīng)用程序包,而程序運行的主體是各種“組件”。從應(yīng)用程序的角度,各個組件對外的聯(lián)系是程序處理的一個關(guān)鍵問題,組件接口包括與用戶的接口和與其他包的接口兩部分內(nèi)容。Android的應(yīng)用程序是用Java語言開發(fā)的,其編程語言完全開源免費,基于此平臺,對此系統(tǒng)進行開發(fā)設(shè)計。
2.2 GPS定位技術(shù)
移動終端的定位是通過檢測移動終端和基站之間傳播信號的特征參數(shù)來獲取幾何位置,再根據(jù)移動終端定位進行定位估計位置。GPS全球定位系統(tǒng)是由美國國防部在20世紀70年代開始聯(lián)合研制的新型衛(wèi)星導(dǎo)航系統(tǒng),由24顆定位衛(wèi)星組成,所有衛(wèi)星分布比較獨特,軌道高,兼具測時和測距的功能。GPS全球定位系統(tǒng)實現(xiàn)了全球覆蓋,各種氣象條件下的全天候工作,定位精度高,定位導(dǎo)航可實時連續(xù)。定位衛(wèi)星的這種分布便于需要導(dǎo)航的設(shè)備在全球的任意地點、任意時間都可同時觀測到4顆以上的通信衛(wèi)星,并能保持良好的定位解算精度。今天的智能手機平臺大多都配備了全功能的GPS接收機及配套應(yīng)用,根據(jù)高速運動的衛(wèi)星瞬間位置作為已知的數(shù)據(jù),采用空間距離后方交會的方法,確定待測點的準(zhǔn)確位置。
2.3 百度地圖API
百度地圖API針對移動終端特別開發(fā)出百度地圖移動版API,百度移動地圖API是基于移動互聯(lián)網(wǎng)設(shè)備的應(yīng)用程序接口,支持Android平臺。與此同時,移動地圖免費對外開放地圖SDK和定位SDK API,若需要在同一個工程中同時使用地圖SDK和定位SDK,需先申請同一個key,接口使用無次數(shù)限制。
地圖SDK是一套基于Android平臺的應(yīng)用程序接口,可以使用該套SDK開發(fā)適用于Android系統(tǒng)移動設(shè)備的地圖應(yīng)用,通過調(diào)用地圖SDK接口,可以輕松訪問百度移動地圖服務(wù)和數(shù)據(jù),構(gòu)建功能豐富、交互性強的地圖類應(yīng)用程序。同時百度移動地圖定位SDK是一個提供基礎(chǔ)定位API的第三方平臺,為各類應(yīng)用提供定位能力,提升用戶體驗。通過移動地圖API,用戶可以再移動終端上便捷、輕松、準(zhǔn)確地訪問百度地圖服務(wù)和數(shù)據(jù)。地圖定位原理如圖3所示。
百度移動地圖采用GPS、基站、Wi—Fi信號進行定位。當(dāng)應(yīng)用程序向SDK發(fā)起服務(wù)請求時,SDK會根據(jù)應(yīng)用的客觀因素(GPS、基站、Wi—Fi信號)的實際情況(如是否開啟GPS、是否連接網(wǎng)絡(luò)、是否有信號等)來生成相應(yīng)地理信息依據(jù)進行響應(yīng)。
3 系統(tǒng)的功能設(shè)計
本文的研究目的是實現(xiàn)好友共享地理信息的移動導(dǎo)航定位系統(tǒng),通過后臺的推送服務(wù),更新并發(fā)送給其好友,并在客戶端上通過百度Map上顯示出來。只要用一個賬號和密碼登陸,使用者就匹配數(shù)據(jù)庫相關(guān)數(shù)據(jù)就可以加載好友列表,并進行位置共享進而實現(xiàn)移動導(dǎo)航功能,系統(tǒng)整體功能架構(gòu)如圖4所示。
評論