




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . . . 1.系統(tǒng)描述11.1問題描述11.2需求分析11.2.1用戶體驗需求11.2.2功能需求11.3可行性分析21.3.1經濟可行性21.3.2操作可行性21.3.3技術可行性22.背景資料說明32.1Android環(huán)境說明32.2百度地圖接口說明32.3系統(tǒng)的體系結構圖43.系統(tǒng)概要設計43.1總體框架圖43.2各部分功能描述54.總體詳細設計64.1界面設計64.1.1主界面設計64.1.2路線查詢界面設計74.1.3校園周邊信息查詢界面設計74.1.4校園定位界面設計84.1.5地圖界面的設計84.1.6查找列表界面設計94.2各模塊邏輯圖94.2.1路線查詢模塊94.2.2校
2、園周邊信息查詢模塊104.2.3校園定位模塊114.3詳細代碼設計124.3.1AndroidManifest.xml文件的修改124.3.2資源文件的設計134.3.3程序控制代碼設計135.測試和結果說明145.1啟動模擬器145.2測試各模塊155.2.1路線查詢測試155.2.2校園周邊信息查詢測試175.2.3校園定位測試195.2.4衛(wèi)星地圖和街道地圖測試196.總結與展望196.1總結196.2展望207.參考文獻2019 / 21基于Andriod環(huán)境的地圖查詢系統(tǒng)設計1.系統(tǒng)描述1.1問題描述設計一個基于android環(huán)境的地圖查詢系統(tǒng)設計,整個設計是建立在理工大學的地圖導航
3、之上。該系統(tǒng)能夠提供理工大學校區(qū)定位的查詢;能夠為用戶提供用戶需求的源點和終點路線的查詢,其包含公交查詢、駕車查詢和步行查詢;能夠提供校園周邊信息的查詢,如餐飲、銀行和交通等信息的查詢。1.2需求分析1.2.1用戶體驗需求一個成功的Android應用程序往往需要提供良好的用戶體驗。良好的用戶體驗體現(xiàn)在以下幾點:1界面友好用戶界面要簡潔直觀,并且易于操作。2快速響應快速處理用戶的輸入或請求,對于有些需要較多時間的應用程序,可以在它處理時,給用戶一個提示,讓用戶知道程序還在運行中。3無縫性Android應用程序模型的構建是能夠允許用戶在不同的應用程序之間進行流暢的切換。所以當用戶正在做一些其他的事
4、情,如在接或查看地圖是,SMS服務每次都在短信收到時彈出一個對話框,這很快就會使用戶崩潰,需要引入通知機制,來使用戶能夠自己控制。1.2.2功能需求基于android環(huán)境的地圖查詢系統(tǒng)扮演著與用戶直接交互并提供服務的重要角色,它需要提供有好的、方便的用戶操作界面,接收用戶的各項操作并將這些操作轉化成與之對應的命令,采用用戶活動的方式完成各個服務邏輯流程。其功能需求主要包含一下容:1地圖縮放的功能用戶能夠通過此縮放功能,隨時放大某一塊感興趣的地圖數(shù)據(jù),或者縮小當前的地圖信息到更高一個視覺觀察層次。2視圖模式切換功能在顯示地圖信息的時候,應該提供給用戶顯示地圖的街道信息和衛(wèi)星信息兩種常規(guī)的視圖模式
5、,用戶可以根據(jù)自己的需要選擇一種合適的視圖模式。3路線查詢功能在用戶的起點或者用戶自己設定的起點和終點后,提供起點到終點公交查詢,并給出從起點到終點可供選擇的公交查詢列表,在用戶選中需要的項后給出百度地圖的路線行走信息。同時還提供駕車查詢和步行查詢,它們給出起點到終點的經緯度坐標,并給出兩點間的距離。4校園周邊信息查詢功能提供給用戶校園周邊信息查詢的功能,如提供“餐飲”、“銀行”、“交通”等周邊信息。能使用戶很方便地尋找需要的服務,返回該服務商家的地圖地理位置坐標同時將該坐標標志出來。5校園定位提供給用戶理工大學余家頭校區(qū)和馬房山校區(qū)的地圖定位,同時在地圖上標志出來。1.3可行性分析可行性研究
6、的目的就是用最小的代價在最短的時間確定該軟件項目是否能夠開發(fā),是否值得去開發(fā)。可從三個方面分析研究每種解決問題的可行性。1.3.1經濟可行性基于android環(huán)境的地圖查詢系統(tǒng)是一個C/S系統(tǒng)。服務器端使用的是百度提供的百度地圖API接口,此接口可很好的提供本系統(tǒng)所需要的所有關于地圖的功能,同時該接口是免費的只需要注冊一個百度賬號申請百度API的KEY即可??蛻舳思幢鞠到y(tǒng),由于很大一部分的操作是由百度地圖接口處理的,所以客戶端所有完成的工作量并不大。該系統(tǒng)帶來的利益卻是巨大的,能夠實現(xiàn)主流的用戶需求,所以在經濟上是可行的。1.3.2操作可行性使用百度地圖查詢地理坐標是百度地圖提供給用戶的一個合
7、法的使用權限,并且地圖查詢系統(tǒng)屬于一種常規(guī)的需要。該系統(tǒng)使用方便、高效,不會出現(xiàn)違規(guī)的操作,同時操作快捷也易于掌握。1.3.3技術可行性Android的地圖查詢系統(tǒng),所需要的背景知識是一些基礎的java和對百度地圖一些接口類的使用。這些在百度地圖的用戶手冊中都很好的說明,在對這些背景知識有了較好的了解之后便可在較短的時間開發(fā)出一個功能完善的系統(tǒng)。2.背景資料說明2.1Android環(huán)境說明Android是一種基于Linux的自由與開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領導與開發(fā)。本次地圖查詢系統(tǒng)選擇的是Android環(huán)境,是由于其有如下
8、的優(yōu)點:Ø 源代碼完全開放,便于開發(fā)人員更清楚的把握實現(xiàn)細節(jié),便于提高開發(fā)人員的技術水平,有利于開發(fā)出更具差異性的應用,同時整個系統(tǒng)是免費的。Ø 采用了對有限存、電池和CPU優(yōu)化過的虛擬機Dalvik,Android的運行速度比想象的要快得多。Ø 具有強大的Linux社區(qū)的支持。Ø 應用程序都是基于Java開發(fā)的,Java具有一次編寫,到處運行的跨平臺性。實現(xiàn)了能夠在所有的Android設備中運行,真正做到了硬件無關性,降低了開發(fā)者的負擔。Ø 具有全球一半以上的市場占有率。2.2百度地圖接口說明百度地圖是百度提供的一項網絡地圖搜索服務,覆蓋了國
9、近400個城市、數(shù)千個區(qū)縣。在百度地圖里,用戶可以查詢街道、商場、樓盤的地理位置,也可以找到離您最近的所有餐館、學校、銀行、公園等等。百度地圖 Android SDK是一套基于Android 2.1(v1.3.5與以前版本支持android 1.5以上系統(tǒng))與以上版本設備的應用程序接口。開發(fā)者可以使用該套 SDK開發(fā)適用于Android系統(tǒng)移動設備的地圖應用,通過調用地圖SDK接口,可以輕松訪問百度地圖服務和數(shù)據(jù),構建功能豐富、交互性強的地圖類應用程序。百度地圖Android SDK提供的所有服務是免費的,接口使用無次數(shù)限制。只需申請密鑰(key)后,便可使用百度地圖Android SDK。任
10、何非營利性產品可以直接使用。百度地圖提供的接口包含以下功能:Ø 地圖展示:包括2D圖、衛(wèi)星圖、3D圖地圖展示。Ø 地圖操作:提供控制平移、縮放、底圖旋轉、變換視角等地圖相關操作的功能。Ø 自定義繪制:提供自定義繪制點、線、圓、矩形、凸多邊形和文字的功能。Ø 百度地圖導航:提供調起百度地圖Android版(v5.0與以上版本)導航功能。Ø 地圖搜索:提供根據(jù)關鍵字進行圍檢索、城市檢索和周邊檢索。且支持LBS云檢索用戶自有數(shù)據(jù)。Ø 詳情查詢:提供餐飲類的POI的詳細信息查看(Place詳情)。Ø 線路規(guī)劃:提供公交、駕車和步行三
11、種類型,多種方案(不含地鐵、時間優(yōu)先、最少換乘、最少步行)的線路規(guī)劃。Ø 地理編碼:提供地址信息與坐標之間的相互轉換。Ø 位置標注:提供一個或多個POI位置標注,且支持用戶自定義圖標。Ø 實時路況:提供城市、城際(城市之間的高速)實時交通路況信息圖。Ø 離線地圖:提供離線地圖功能,可節(jié)省用戶流量。Ø 定位:采用GPS、WIFI、基站、IP混合定位模式,請使用Android定位SDK獲取定位信息,使用地圖SDK定位圖層進行位置展示。2.3系統(tǒng)的體系結構圖系統(tǒng)的體系結構圖如圖1所示:圖1. 系統(tǒng)體系結構圖3.系統(tǒng)概要設計3.1總體框架圖在設計系統(tǒng)功
12、能架構時,基于android環(huán)境的地圖查詢系統(tǒng)包含三個主要的模塊:路線查詢,校園周邊信息查詢,校園定位。其系統(tǒng)總體框架圖如圖2所示。圖2. 系統(tǒng)總體框架圖3.2各部分功能描述(1) 視圖模式切換與地圖縮放功能描述:顯示一個地方的衛(wèi)星圖、街道圖和對地圖進行放大縮小應用場景:當一個用戶想查看一個地方的街道情況或更清晰地圖時,可以使用此系列功能來進行查看。(2) 路線查詢功能描述:提供起點到終點公交查詢,并給出從起點到終點可供選擇的公交查詢列表,在用戶選中需要的項后給出百度地圖的路線行走信息。同時還提供駕車查詢和步行查詢,它們給出起點到終點的經緯度坐標,并給出兩點間的距離。應用場景:當一個用戶想查看
13、從一個地方到另個一地方的公交坐車路線或者行走路線時,可以使用此系列功能進行查看。(3) 校園周邊信息查詢功能描述:提供給用戶校園周邊信息查詢的功能,如提供“餐飲”、“銀行”、“交通”等周邊信息。能使用戶很方便地尋找需要的服務,返回該服務商家的地圖地理位置坐標同時將該坐標標志出來。應用場景:當一個用戶想查看理工大學余家頭校區(qū)校園周邊的一些服務時,可以使用此系列功能進行查看。(4) 校園定位功能描述:提供給用戶理工大學余家頭校區(qū)和馬房山校區(qū)的地圖定位,同時在地圖上標志出來。應用場景:當一個用戶想查看理工大學余家頭校區(qū)或馬房山校區(qū)的地理位置時,可以使用此系列功能進行查看。4.總體詳細設計4.1界面設
14、計一個Android應用程序的主界面是非常重要的,用戶第一眼看到的就是主界面。為了給用戶留下好的印象,主界面的設計要遵循一致的準則,給用戶統(tǒng)一的感覺,不覺混亂,控件簡潔使用方便,同時在色調的搭配上遵循對比原則。4.1.1主界面設計主界面是系統(tǒng)運行后開啟的第一個用戶界面,包含“理工大學地圖導航”的標題文字,同時提供了四個Button按鈕分別用來響應“路線查詢”、“校園周邊信息查詢”、“校園定位”和“退出”事件。主界面設計如圖3所示。 圖3. 主界面設計 圖4. 路線查詢界面設計4.1.2路線查詢界面設計路線查詢界面提供了三個TextView分別用來顯示“點擊按鈕更改終點或起點”、“起點”和“終點
15、”,同時還給出了5個Button按鈕分別用來響應起點、終點輸入、公交查詢、駕車查詢和步行查詢五個事件。路線查詢界面如圖4所示。4.1.3校園周邊信息查詢界面設計校園周邊信息查詢界面提供了一個TextView控件用來顯示“選擇周邊選項”,同時還提供了10個Button按鈕分別用來響應周邊信息的查詢事件。校園周邊信息查詢界面如圖5所示。 圖5. 校園周邊信息查詢界面設計 圖6. 校園定位界面設計4.1.4校園定位界面設計校園定位界面提供了一個TextView控件用來顯示“選擇校區(qū)”,同時還提供了兩個Button按鈕分別用來響應“余家頭校區(qū)定位”和“馬房山校區(qū)定位”這兩個事件。校園定位界面如圖6所示
16、。4.1.5地圖界面的設計地圖界面提供了一個ToggleButton按鈕,主要是用來切換“開啟衛(wèi)星地圖”和“關閉衛(wèi)星地圖”兩個功能。地圖界面如圖7所示。 圖7. 地圖界面的設計 圖8. 查找列表界面設計4.1.6查找列表界面設計查找列表界面設計主要提供了兩個TextView用來顯示“查找列表”和“點擊列表選擇您要找的位置”,同時還提供了一個ListView用來給出檢索的表單項。查找列表界面如圖8所示。4.2各模塊邏輯圖4.2.1路線查詢模塊路線查詢模塊說明:在進入路線查詢界面后,提示用戶“點擊按鈕更改終點或起點”。然后用戶便可以進行公交查詢、駕車查詢或步行查詢,如果用戶沒有輸入終點會提示用戶輸
17、入終點,如果用戶已經輸入了則會提供對應的地圖服務。圖9. 路線查詢模塊4.2.2校園周邊信息查詢模塊校園周邊信息查詢模塊說明:在進入校園周邊信息查詢界面后,系統(tǒng)會給出校園周邊服務選項供用戶選擇,在用戶選定后系統(tǒng)給出對應的地圖服務。圖10. 校園周邊信息查詢模塊4.2.3校園定位模塊校園定位模塊說明:在進入校園定位界面后,系統(tǒng)會給出余家頭校區(qū)定位和馬房山校區(qū)定位兩種選擇,在用戶選定后系統(tǒng)給出對應的地圖定位服務。圖11. 校園定位模塊4.3詳細代碼設計4.3.1AndroidManifest.xml文件的修改在AndroidManifest.xml文件中添加查看手機網絡狀態(tài),使用GPS,訪問網絡等
18、相關權限,權限設置如下所示:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><uses-permission android:name="android.permission.INTE
19、RNET"></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="
20、;android.permission.CHANGE_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>同時還要在此文件中修改對屏幕的支持,修改如下:<supports-screens android:largeScreens="true" android:normalScreens="true"
21、 android:smallScreens="true" android:resizeable="true" android:anyDensity="true"/>4.3.2資源文件的設計在drawable-hdpi中添加所使用的圖片文件。根據(jù)4.1界面設計中所展示的界面在layout文件夾中編寫相應的代碼,在此并不一一展示代碼。在menu文件夾中分別創(chuàng)建校園周邊信息的列表文字說明。4.3.3程序控制代碼設計分別在src文件加下建立如下java文件,其名稱和主要功能如下:Ø MyContant.java用來存放坐標等一
22、些數(shù)據(jù),只有數(shù)據(jù)定義的類Ø Globle.java存放全局共享資源,包含兩個類聲明,分別是公交路線計劃和普通路線計劃Ø DlnuNavActivity.java首頁的活動控制,主要負責監(jiān)聽退出,路線查詢(LineActivity.java),校園周邊信息查詢(NearActivity.java),校園定位(NavActivity.java)的按鈕點擊消息,在收到這些意圖時跳轉到對應的類中處理Ø LineActivity.java路線查詢活動控制,響應的起點,終點,公交查找,步行查找,駕車查找的按鈕點擊消息,包含的類主要是SeekOnClickListener(),
23、PositionOnClickListener(),onActivityResult()。其中:1SeekOnClickListener()為一個路線查找按鈕監(jiān)聽器,當點擊“公交查詢”或“駕車查詢”或“步行查詢”后會激活SeekOnClickListener()來處理對應的點擊信息。當并未提交起點和終點或者提交的是空的起點和終點并點擊“公交查詢”或“駕車查詢”或“步行查詢”后,會提示用戶輸入響應的起點和終點信息;當提交非空的起點和終點并點擊“公交查詢”或“駕車查詢”或“步行查詢”后跳轉到ListActivity.java中進行處理,同時將提交的起點、終點、查找類型標志數(shù)據(jù)和路線類型數(shù)據(jù)傳遞到一
24、個數(shù)據(jù)緩沖區(qū)供ListActivity.java使用。2PositionOnClickListener()為輸入位置查找監(jiān)聽器,當點擊起點或終點后會激活PositionOnClickListener()來處理對應的點擊信息。PositionOnClickListener()主要是用來提供一個編輯框供用戶輸入地點名稱3onActivityResult()為位置查找的Intent執(zhí)行后返回的result的容.Ø NearActivity.java校園周邊信息查詢活動控制,響應如“餐飲”,“銀行”,“交通”等周邊信息的按鈕點擊信息,創(chuàng)建的類是MyListener()。MyListener(
25、)主要的功能是打開ContextMenu菜單,打開時會調用onCreateContextMenu()進行處理然后顯示出資源表中對應的menu資源,當用戶選中需要的ContextMenu項后,onContextItemSelected()會將消息提交到ListAvtivity.java中進行處理,同時將提交的周邊信息類型與列表項傳遞到一個數(shù)據(jù)緩沖區(qū)供ListActivity.java使用。Ø NavActivity .java校園定位活動控制,響應余家頭校區(qū)定位,馬房山校區(qū)定位的按鈕點擊消息。當點擊“余家頭校區(qū)定位”或“馬房山校區(qū)定位”時,會跳轉到MapViewActivity.jav
26、a中進行處理,同時將提交的進入地圖的類型,對應校區(qū)坐標傳遞到一個數(shù)據(jù)緩沖區(qū)供MapViewActivity.java使用。Ø MapViewActivity.java其中包含MyOverlay()用來把周邊信息定位時所用到的圈層,SatelliteButtonListener()衛(wèi)星地圖按鈕監(jiān)聽器,MySearchListener()地圖查找監(jiān)聽器用來獲取周邊信息,主類MapViewActivity()主要用來調用百度的API函數(shù)顯示地圖信息。Ø ListActivity.java地圖列表Activity,包含的主要類是onGetSuggestionResult(),onG
27、etDrivingRouteResult(),MyBaseAdapter()。onGetSuggestionResult()是用來對用戶輸入的周邊信息選項進行聯(lián)想詞查找,向百度地圖的接口提交關鍵字,然后獲取百度地圖返回的聯(lián)想詞顯示給用戶。onGetDrivingRouteResult()是駕車路線查找回調函數(shù),想百度地圖接口提供起點和終點,返回駕車路線的查找信息。MyBaseAdapter()聲明一個ListView的適配器用來適配不同的查找關鍵字。5.測試和結果說明5.1啟動模擬器在Eclipse界面里選擇Run菜單,點擊Run Cunfigurations,彈出一個對話框。先看Androi
28、d標簽,在Project里找到要運行的項目dlnuNav并選中;在Target標簽里,選擇之前建立的AVD。點擊Run即可運行。如圖12和13所示圖12. 選擇項目圖13. 選擇AVD5.2測試各模塊5.2.1路線查詢測試修改起點和終點分別改為“華城廣場”和“大學(武昌主校區(qū))”,當修改終點時會給出如圖14所示的下拉列表供選擇,設定完后的界面如圖15所示。 圖14. 地點下拉列表 圖15. 設定完后的界面當單擊“公交查詢”時,會給出各個路徑查詢的下拉列表,如圖16所示。然后選中其中的一項,會得到如圖17所示的路徑地圖,圖中給出了起點、終點的標志,還有其行走的路線。 圖16. 公交查詢下拉列表 圖17.公交路線地圖5.2.2校園周邊信息查詢測試在校園周邊信息中選擇一項作為測試標準,這里選擇“餐飲”,當點擊餐飲后顯示如圖18所示的下拉列表項。在下拉列表中選擇“餐廳”,會出現(xiàn)如圖19所示的查詢列表。然后我們選擇第一項,出現(xiàn)如圖20所示的地圖表示,地圖用A中標出了所要查找的地點。 圖18. 餐飲下拉列表 圖19. 查找下拉列表 圖20. 餐飲地點標注圖 圖21. 余家頭校區(qū)5.2.3校園定位測試在這里,選擇“余家頭校區(qū)定位”作為參考測試,結果如圖21所示,圖中標志出了余家
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農村打井合同范本
- 【復習大串講】【中職專用】高二語文上學期期末綜合測試題(一)(職業(yè)模塊)(原卷版)
- 修理店合同范本
- 原油合同范本
- 公路測量合同范本
- 廠房 合同范本
- 養(yǎng)殖大棚轉讓合同范例
- 同城物流合同范本
- 包工地消防安裝合同范本
- 合購車合同范本
- DB1301∕T 369-2021 設施蔬菜有機肥替代化肥技術規(guī)程
- 佛山市順德區(qū)新城區(qū)中心商務區(qū)控制性詳細規(guī)劃
- IPCJEDEC J-STD-020 塑料集成電路(IC)SMD的潮濕回流敏感性分類 該
- a04-hci深信服超融合配置指南_v1
- 急診與災難醫(yī)學第二版配套課件 05 心悸與心律失常
- 流體力學第二版蔡增基課件
- 電力系統(tǒng)遠動原理
- 天然氣管道保護蓋板涵施工方案
- 燒結普通磚抗壓強度試驗
- 云南省普通初中學生成長記錄.doc
- 門窗承受荷載計算方法和公式(門窗工程專業(yè)資料)
評論
0/150
提交評論