版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于Android 平臺(tái)的Google Map的手機(jī)導(dǎo)航設(shè)計(jì)</p><p><b> 摘 要</b></p><p> Google 公司于 2007 年 11 月發(fā)布 Android 系統(tǒng)以來,短短四年時(shí)間,Android 已經(jīng)占據(jù)了智能手機(jī)市場(chǎng)的半壁江山,是目前最為炙手可熱的智能手機(jī)操作系統(tǒng)。Android 走進(jìn)了越來越多人的生活,成為
2、他們獲取信息主要設(shè)備。隨著擁有私家車的家庭越來越多,大部分司機(jī)朋友都希望能接收到導(dǎo)航服務(wù),為自己的旅程提供準(zhǔn)確便利的信息。除了購買導(dǎo)航儀以外,導(dǎo)航軟件的出現(xiàn)為司機(jī)朋友增加了一個(gè)選擇,通過手機(jī)就能實(shí)現(xiàn)導(dǎo)航功能,不但節(jié)省了一筆導(dǎo)航儀的費(fèi)用,還能為獲得除了導(dǎo)航服務(wù)以外的更多信息。目前市面上大部分導(dǎo)航軟件都存在如占用空間大,地圖數(shù)據(jù)不全面等弊端,一部分用戶體驗(yàn)可能就不是很好。Google Map 作為最先推出的網(wǎng)上地圖,各種數(shù)據(jù)信息最為全面和準(zhǔn)
3、確,本系統(tǒng)通過Google Map Api 設(shè)計(jì)一個(gè)能夠?qū)崿F(xiàn)定位、導(dǎo)航和交通信息發(fā)布等等功能的在線導(dǎo)航軟件。在Android 設(shè)備上具有良好的用戶界面、響應(yīng)速度和用戶體驗(yàn)。</p><p> 關(guān)鍵詞 智能手機(jī) Android Google Map 導(dǎo)航應(yīng)用</p><p><b> Abstract</b></p><p> Sinc
4、e Google released Android system in November 2007, just four years time, Android already accounts for half of the Smartphone market, is by far the hottest Smartphone operating system. Android went more and more people
5、9;s lives, as the main equipment they get information. With the large sum of families have private car, most drivers want navigation services, to provide accurate information to facilitate their journey. In addition to b
6、uying Navigator, navigation software is another choice for d</p><p> Keywords Smartphone Android Google Map Navigation</p><p><b> 1 引言</b></p><p> 在當(dāng)今社會(huì),手機(jī)已經(jīng)成為人們?nèi)粘I钪?/p>
7、不可或缺的工具,以用戶體驗(yàn)為核心訴求的智能手機(jī),使手機(jī)由單一的通信終端發(fā)展成為互聯(lián)網(wǎng)終端。越來越多的互聯(lián)網(wǎng)應(yīng)用被移植到</p><p> 智能手機(jī)中來,導(dǎo)航軟件在智能手機(jī)中的應(yīng)用成為了研究熱點(diǎn)之一。在目前大部分智能手機(jī)都提供 GPS 定位服務(wù)以及 3G 無線網(wǎng)絡(luò)越來越普及的雙重驅(qū)動(dòng)下,在 Google 地圖中實(shí)現(xiàn)導(dǎo)航服務(wù),是具有可行性的。</p><p> 本文提出并實(shí)現(xiàn)了一種基于Go
8、ogle Map Api 的 Android 導(dǎo)航應(yīng)用,能夠給用戶提供人性化和智能化的地圖導(dǎo)航服務(wù)。</p><p><b> 2 緒論</b></p><p> 2.1面向智能手機(jī)的導(dǎo)航地圖系統(tǒng)的發(fā)展現(xiàn)狀</p><p> 隨著無線傳輸技術(shù)的更新?lián)Q代和無線互聯(lián)技術(shù)的不斷發(fā)展,在需求和技術(shù)的雙重驅(qū)動(dòng)下,將互聯(lián)網(wǎng)上的海量信息和強(qiáng)大的應(yīng)用服務(wù)
9、功能擴(kuò)展到移動(dòng)終端上,為用戶提供隨時(shí)、隨地的信息服務(wù)成為信息服務(wù)業(yè)的重要發(fā)展方向。面向智能手機(jī)的空間信息服務(wù)系統(tǒng)已經(jīng)成為當(dāng)前移動(dòng)空間信息系統(tǒng)的研究熱點(diǎn)。研究移動(dòng)空間信息系統(tǒng)的單位主要是通信廠商、第三方服務(wù)開發(fā)商以及學(xué)校和科研單位。當(dāng)前面向智能手機(jī)的地圖導(dǎo)航系統(tǒng)所提供的服務(wù)主要集中在地圖的瀏覽、查詢、定位、導(dǎo)航、地址匹配、交通信息查詢、地理數(shù)據(jù)傳輸以及其它服務(wù)。</p><p> 國外開展此類研究的大型公司和機(jī)構(gòu)
10、有很多,如Uwnierdplnaet、Nokia、Ericsson、Motorola、NTTDocoM。、AT&TWieresls、Es刃、nItegrraph等公司。國內(nèi)相對(duì)開展得要晚一些,從事這方面研究與開發(fā)的機(jī)構(gòu)有北京四維圖新導(dǎo)航技術(shù)有限公司,北京靈圖軟件技術(shù)有限公司,上海杰獅信息技術(shù)有限公司,上海比技公司,成都華好公司,圖行天下信息咨詢有限公司,中科華建公司,武漢大學(xué)地圖制圖與地理信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,測(cè)繪遙感信息國家重點(diǎn)
11、實(shí)驗(yàn)室,北京大學(xué)遙感研究所,解放軍信息工程學(xué)院等。</p><p> 在開發(fā)模式上,不同的研究機(jī)構(gòu)所采用的模式有所不同,目前最主流也是最成熟的模式有場(chǎng)叭P和i一mode。認(rèn)人PI.0是Nokia、Ericsson、Motoorla和UnwiredPlnaet這四家公司合作建立的一個(gè)開放的標(biāo)準(zhǔn)。這些認(rèn)叭P規(guī)范并非僅為一種標(biāo)記語言,它們還包括了一個(gè)非常類似TCP八P和HTTP的協(xié)議集,但經(jīng)過修改后它們可以更有效地在
12、高噪聲、低品質(zhì)、易掉線的環(huán)境中使用,而這些都是移動(dòng)通信的特點(diǎn)。另外,規(guī)范中包括一個(gè)網(wǎng)絡(luò)安全層,以及許多用于傳輸可編程電話應(yīng)用程序的特性。這些應(yīng)用程序是使用智能電話的核心功能。最后,認(rèn)誠P規(guī)范還包括主要基于unweridPlnaetHDN壓(HnahddelDeviecMkarPuLnagugae,手持設(shè)備標(biāo)記語言)的wML,以及與JvaascriPt相似的稱為wN壓SeriPt的腳本語言。最新發(fā)布的認(rèn)叭P2.0版本用與X州壓兼容的HT側(cè)
13、比的變體模塊xHI,N幾替代了wML?;蛟S認(rèn)叭P最顯著的特點(diǎn)是,它用全球所有主要的底層數(shù)據(jù)通信協(xié)議進(jìn)行工作。認(rèn)叭P將自己描述成移動(dòng)Intemet服務(wù)的實(shí)際標(biāo)準(zhǔn),但日本的NTTDoCoM。對(duì)此持有異議,因?yàn)閺挠脩魯?shù)量上</p><p> 2.2面向智能手機(jī)導(dǎo)航地圖系統(tǒng)的基本概念</p><p><b> 2.2.1智能手機(jī)</b></p><p&
14、gt; 什么樣的手機(jī)才可以稱為智能手機(jī)?除了最早期的“手機(jī)加上PDA”外,還有什么衡量標(biāo)準(zhǔn)?本人認(rèn)為可以被稱為智能手機(jī)至少有四個(gè)標(biāo)準(zhǔn):可以語音和數(shù)據(jù)通信,這是手機(jī)的基本功能;基本的PDA功能;通信功能與PDA功能無縫融合,而非簡(jiǎn)單的“1+l”;開放式操作系統(tǒng),第三方可根據(jù)操作系統(tǒng)提供的API為智能手機(jī)開發(fā)各種擴(kuò)展應(yīng)用和提供各種擴(kuò)展硬件,這是智能手機(jī)的根本特性。</p><p> 現(xiàn)在跟智能手機(jī)有關(guān)的名詞特別多
15、也很容易混淆,下面就有幾個(gè)概念需要明確:</p><p> PocketPC:掌上型計(jì)算機(jī),以PDA為應(yīng)用方向,具有觸控屏幕。雖然可以外加GPRS卡</p><p> 來接打電話和使用GPRS,但是一旦使用者將Power鍵按下后,GPRS和手機(jī)功能就暫停了。</p><p> 換句話說,任何打來的電話都不會(huì)接通的。PPC的操作系統(tǒng)是WinCE3.0和Windo
16、wsMboeli2003,對(duì)使用Windows操作系統(tǒng)的用戶來說沒有任何使用上的困難。這個(gè)平臺(tái)是開放的,如果你覺得它內(nèi)置的應(yīng)用程序不能滿足你的需要,那么你可以安裝自己各種各樣的第三方軟件。</p><p> PokcetPCPhnoe:在PocketPC的架構(gòu)中加入手機(jī)功能,因此與PocketPC最大的差別在于</p><p> PoeketPCPhone可以插入SIM卡后當(dāng)作手機(jī)使用
17、(CDMA系統(tǒng)無須插入SIM卡),按下Power</p><p> 鍵,手機(jī)功能依然持續(xù)在運(yùn)作。此外PocketPC應(yīng)用程序原則上兼容于PocketPCPhnoe。</p><p> Smartphnoe:定位為純手機(jī)操作的系統(tǒng),沒有觸控屏幕的設(shè)計(jì),中英文輸入法以操作數(shù)字鍵輸入為基本設(shè)計(jì),在顯示上也以數(shù)字鍵操作為考量,在程序集中即以1,…,9來設(shè)定對(duì)應(yīng)的選擇。而Smartphnoe的程
18、序必須與PocketPC(Phnoe)分開設(shè)計(jì),也就是說是不兼容的。</p><p> 簡(jiǎn)單的界定,PocketPCphone就是以數(shù)據(jù)功能為主,話音功能為副的產(chǎn)品;相反Smartphnoe就是以話音功能為主,輔助其他數(shù)據(jù)及上網(wǎng)功能。不過世事無絕對(duì),市面上也有很多手機(jī)已經(jīng)是在這個(gè)界定兩者之間。本人認(rèn)為,不論是PocketPCPhone還是Smartphone,只要符合智能手機(jī)的四條標(biāo)準(zhǔn),就屬于智能手機(jī)的范疇。&
19、lt;/p><p> 2.2.2面向智能手機(jī)的導(dǎo)航地圖</p><p> 導(dǎo)航地圖屬于電子地圖的范疇,是以導(dǎo)航應(yīng)用為基礎(chǔ),著重表現(xiàn)路網(wǎng)的電子地圖,在此基礎(chǔ)上可以進(jìn)行導(dǎo)航功能的開發(fā)。移動(dòng)地圖是指通過基于位置的服務(wù)為顧客提供的顯示在移動(dòng)設(shè)備上的地圖可視化產(chǎn)品。面向智能手機(jī)的導(dǎo)航地圖,由于其地圖表現(xiàn)載體的特殊性,即移動(dòng)性,因此也屬于移動(dòng)地圖的范疇。這類特殊電子地圖的特點(diǎn)是:能夠隨時(shí)隨地按用戶的需
20、求以用戶的當(dāng)前位置為基點(diǎn)顯示空間信息,具有設(shè)備可移動(dòng)性、用戶自適應(yīng)性、信息獲取靈活性、信息顯示動(dòng)態(tài)性等特點(diǎn)。</p><p> 利用面向智能手機(jī)的移動(dòng)空間信息技術(shù),人們一般將空間信息數(shù)據(jù)的顯示、數(shù)據(jù)查詢,甚至是數(shù)據(jù)的更新等操作集中到移動(dòng)終端,是對(duì)網(wǎng)絡(luò)終端的擴(kuò)展:在服務(wù)器端主要完成空間數(shù)據(jù)的編輯、空間數(shù)據(jù)的組織、空間數(shù)據(jù)的分析、空間信息的分發(fā)等。在移動(dòng)終端(即智能智能手機(jī)),開發(fā)人員采用JAVA、BREW、.NE
21、T等軟件開發(fā)平臺(tái)和嵌入式開發(fā),可以實(shí)現(xiàn)終端的服務(wù)功能。在服務(wù)器端,開發(fā)人員可采用各種面向?qū)ο蟮拈_發(fā)語言開發(fā)空間信息服務(wù),實(shí)現(xiàn)空間信息組織、分析、分發(fā)等功能。</p><p> 3 Android開發(fā)平臺(tái)的搭建及開發(fā)環(huán)境特點(diǎn)</p><p> 3.1 Android開發(fā)平臺(tái)的搭建</p><p> 搭建android開發(fā)平臺(tái)</p><p&g
22、t; 1.1安裝java jdk,最新版本為6,下載地址http://java.sun.com/javase/downloads/widget/jdk6.jsp。下載成功后,安裝。</p><p> 1.2安裝eclipse</p><p> Eclipse是一款開源的集成開發(fā)環(huán)境,他能夠極大的提高開發(fā)應(yīng)用效率。最重要的是,它提供了豐富的android應(yīng)用。開發(fā)人員可以訪問網(wǎng)址htt
23、p://www.eclipse.org/downloads/下載Eclipse軟件,如圖1-2所示。</p><p><b> 圖1-2</b></p><p> Eclipse有多個(gè)版本,開發(fā)android應(yīng)用只需要下載“Eclipse IDE for java</p><p> Developers”版本即可。下載得到一個(gè)壓縮文件,只
24、需解壓到指定目錄(c:/eclipse)。進(jìn)入解壓目錄,雙擊可執(zhí)行文件Eclipse.EXE,得到如圖1-2-1啟動(dòng)界面。</p><p><b> 圖1-2-1</b></p><p> 1.3安裝ADT插件</p><p> 在圖1-2-1所示的Eclipse界面中選擇菜單【Help】----【Install New Software
25、】來打開【Install】對(duì)話框,如圖1-3所示。</p><p><b> 圖1-3</b></p><p> 單擊右上角【add】按鈕,彈出如圖1-3-1【Add Repository】。</p><p><b> 圖1-3-1</b></p><p> 在【Name】中輸入‘ADT’,
26、在【Location】文本框中輸入ADT插件下載地址。如圖1-3-1。</p><p> 過幾秒鐘后,在【Install】對(duì)話框的中間列表部分,將得到與Eclipse相匹配的ADT插件。如圖1-3-2</p><p><b> 圖1-3-2</b></p><p> 單擊單擊【select all】按鈕選擇上述插件,單擊【next】進(jìn)入下
27、一步安裝步驟,如下圖1-3-3</p><p><b> 圖1-3-3</b></p><p> 單擊【Next】按鈕進(jìn)入下一步,如圖1-3-4</p><p><b> 圖1-3-4</b></p><p> 單擊按鈕【I accept the trems of the license a
28、greements】接受協(xié)議。單擊【finish】,Eclipse開始從指定的網(wǎng)站下載ADT插件,如圖1-3-5</p><p><b> 圖1-3-5</b></p><p> 插件下載過程中會(huì)彈出如圖1-3-6所示的窗口,提醒插件包含沒有有效簽名的類容,完全可以忽落這一提示,單擊【Ok】繼續(xù)。</p><p><b> 圖1
29、-3-6</b></p><p> 得到如圖所示的運(yùn)行的界面,提示需要重啟Eclipse。單擊,至此Android開發(fā)環(huán)境已經(jīng)搭建成功。</p><p> 3.2 android開發(fā)環(huán)境特點(diǎn)</p><p> Android作為一個(gè)開放式的平臺(tái),理論上可以在其上開發(fā)基于多種語言的應(yīng)用程序(例如C+--t-、Java等等),但是Android平臺(tái)將J
30、ava語言作為它的官方語言,這無不是考慮到Java語言的強(qiáng)大功能和極佳的平臺(tái)適應(yīng)性,也是基于如此考慮Android平臺(tái)上絕大部分的程序都是基于Java的程序。</p><p> EcliPse作為時(shí)下最流行的Java開發(fā)工具之一,其良好的開放性、開發(fā)效率高、便于使用的特點(diǎn)非常符合 OHA(openHandsetAllianee開放手機(jī)聯(lián)盟)的主旨,非常適合作為Andrnid的開發(fā)工具來使用。另外,為便于And
31、rnid應(yīng)用程序的開發(fā),OHA專門為Eclipse開發(fā)了Android插件,使得開發(fā)者可以方便的使用Eclipse開發(fā)Android應(yīng)用程序?;谝陨蟽牲c(diǎn)本文選擇Eclipse作為其開發(fā)工具。</p><p> 4 軟件設(shè)計(jì)的主題內(nèi)容</p><p> 4.1 UI 界面設(shè)計(jì)</p><p> Android 應(yīng)用程序的基本功能單元就是AcTIvity 類中
32、的一個(gè)對(duì)象,Activity 主要功能為界面顯示和事件處理。在Activity 中使用View和ViewGroup 控件配XML 樣式來進(jìn)行界面設(shè)計(jì),使用事件處理進(jìn)行人機(jī)交互,主要的事件處理為按鈕事件、觸屏事件以及一些高級(jí)控件的事件監(jiān)聽。通過設(shè)置控件與事件處理就形成了UI 界面。</p><p> 1、GPS 定位信息的顯示</p><p> 通過textView控件顯示定位信息。在程
33、序打開時(shí)就顯示目前用戶的具體位置和郵編,門牌號(hào)等相關(guān)信息,若GPS 定位不成功或者出錯(cuò),則顯示“無法獲取目前地址”。</p><p> 2、用戶輸入導(dǎo)航起始地點(diǎn)</p><p> 通過設(shè)置EditView控件,用戶能在改控件中輸入自己需要導(dǎo)航的起始地點(diǎn),通過設(shè)置名為“導(dǎo)航”的ButtON 控件對(duì)輸入信息進(jìn)行提交,當(dāng)監(jiān)聽到Button 按鈕OnClick 時(shí)則分析起始地址,若起始地址都能
34、被解析,則載入導(dǎo)航地圖,若又一個(gè)地址解析失敗,則通過對(duì)話框控件Dialog 提示用戶“輸入地址錯(cuò)誤,請(qǐng)重新輸入”。</p><p><b> 3、導(dǎo)航界面設(shè)計(jì)</b></p><p> 在導(dǎo)航界面中設(shè)置WebView 控件,WebView 控件通過與javascript 互相調(diào)用,把起始地址等信息傳遞給服務(wù)器中的HTML 導(dǎo)航網(wǎng)頁。網(wǎng)頁獲得地址等信息后進(jìn)行導(dǎo)航并通
35、過WebView控件顯示在應(yīng)用程序?qū)Ш浇缑嬷小?lt;/p><p> 4.2 GPS 定位功能實(shí)現(xiàn)</p><p> 全球衛(wèi)星定位系統(tǒng)(Global Positioning System,GPS)是一個(gè)中距離圓型軌道衛(wèi)星導(dǎo)航系統(tǒng),它可以為地球表面超98%的地區(qū)提供準(zhǔn)確的定位、測(cè)速和高精度的時(shí)間標(biāo)準(zhǔn)服務(wù),在各個(gè)領(lǐng)域都有廣泛的應(yīng)用。</p><p> Android
36、 支持GPS 服務(wù)的API.該服務(wù)可以用來獲取當(dāng)前設(shè)備的地理位置,應(yīng)用程序通過該API 獲得地理位置,并可以定時(shí)請(qǐng)求更新當(dāng)前設(shè)備的地理定位信息。該系統(tǒng)將用到GPS API 中包幾個(gè)重要的功能類:LocATIonManager,用于管理Android 用戶定位服務(wù);LocationProvider,提供多種定位方式供開發(fā)者選擇;Criteria,是應(yīng)用通過LocationProvider 中設(shè)置的屬性來選擇合適的定位提供者。</p&
37、gt;<p> 獲取用戶當(dāng)前位置的步驟如下:</p><p> 1、在AndroidManifeST.xml 中聲明相應(yīng)的權(quán)限:</p><p> < android:name="“android.permission.ACCESS_COARSE_LOCATION”" permission></p><p> 2
38、、獲取LocationManager 對(duì)象:</p><p> LocationManager locationManager =(LocationManager)getSystemSERvice (Context.LOCATION_SERVICE);</p><p> 3、設(shè)置Criteria 對(duì)象:</p><p> Criteria criteria =
39、 newCriteria();</p><p> criteria.setAccuracy(Criteria.ACCURACY_FINE);</p><p> criteria.setAltitudeRequired(false);</p><p> criteria.setBearingRequired(false);</p><p>
40、; criteria.setCostAllowed(false);</p><p> criteria.setPowerRequirement(Criteria.POWER_LOW);</p><p> 4、設(shè)置Provider:</p><p> String provider = locationManager.getBestProvider(crite
41、ria,true);</p><p> Location location= locationManager.getLastKnownLocation(provider);</p><p> 4.3 導(dǎo)航功能實(shí)現(xiàn)</p><p> 在正式版本的Android SDK 中,移除了原有M5 版本里面的DrivingDirection package,所以無法透過
42、程序來規(guī)劃導(dǎo)航線路。因此導(dǎo)航功能的實(shí)現(xiàn)我們是通過載入web 導(dǎo)航網(wǎng)頁的方式實(shí)現(xiàn)的。Android 提供了一個(gè)名為WebView的控件來專門瀏覽網(wǎng)頁。</p><p> WebView控件是基于WebKit 瀏覽器網(wǎng)頁排版引擎的一個(gè)java接口,它能夠完美支持html、javascript、css.有時(shí)我們可以把整個(gè)UI 甚至數(shù)據(jù)處理都交給WebView,配合PHP 等服務(wù)器端程序,這樣的Android 應(yīng)用開發(fā)
43、更為簡(jiǎn)單UI 更為豐富。因此本系統(tǒng)的導(dǎo)航功能的主要工作就集中在編寫Google Map Api javascript 版本的導(dǎo)航網(wǎng)頁以及WebView與javascript 的數(shù)據(jù)交互中。</p><p> 1、WebView 的定義及設(shè)置:</p><p> 首先要在XML 布局文件中定義WebView控件;然后在程序中裝載這個(gè)控件,設(shè)置屬性;最后通過loadUrl 方法實(shí)現(xiàn)網(wǎng)頁的載
44、入。</p><p> WebView 常用的類有:WebSettings、WebViewClient、WebChromeClient.</p><p> WebSettings 用來設(shè)置WebView的一些屬性狀態(tài),如:</p><p> // 設(shè)置可以訪問文件</p><p> webSettings.setAllowFileAc
45、cess(true);</p><p><b> // 設(shè)置支持縮放</b></p><p> webSettings.setBuiltInZoomControls(true);</p><p> WebViewClient 專門輔助WebView處理各種通知、請(qǐng)求等事件類,通過WebView 的setWebViewClient 方法來指
46、定一個(gè)WebViewClient 對(duì)象,如下:</p><p> webView.setWebViewClient(newWebViewClient()</p><p><b> {</b></p><p> public boolean shouldOverrideUrlLoading(WebViewview,String url){&
47、lt;/p><p> view.loadUrl(url);</p><p> return true;</p><p><b> }</b></p><p><b> })</b></p><p> WebChromeClient 類專門用來輔助WebView對(duì)話框、網(wǎng)
48、站圖標(biāo)、網(wǎng)站Title、加載進(jìn)度等。使用方法如下:</p><p> webView.setWebChromeClient(newWebChromeClient()</p><p><b> {</b></p><p><b> @Override</b></p><p> // 該方法為處
49、理javascript 中的alert 事件</p><p> public boolean onJsAlert (WebView view,String url,Stringmessage,</p><p> JsResult result){</p><p> // TODO Auto- generated method stub</p>&
50、lt;p> return super.onJsAlert(view,url,message,result);</p><p><b> });</b></p><p> 設(shè)置完WebView后主要工作就是Html 網(wǎng)頁的編寫。</p><p> 2、編寫Html 網(wǎng)頁實(shí)現(xiàn)線路規(guī)劃:</p><p> 線路
51、規(guī)劃的前提是必須要指定起始地址以及出行方式,本系統(tǒng)用戶是通過在Activity 中輸入地址和選擇出行方式來向系統(tǒng)提交信息。WebView 必須從應(yīng)用中獲取信息,然后發(fā)送給Html,供javascript 調(diào)用并實(shí)現(xiàn)導(dǎo)航。</p><p> 在android 應(yīng)用端,定義一個(gè)類保存用戶輸入的起始地址的經(jīng)緯度信息:</p><p> // 在javascript 腳本中調(diào)用得到Latlng
52、Data 對(duì)象</p><p> public LatlngData getLatlngData()</p><p> { return latlngData;</p><p><b> }</b></p><p> /* 定義一個(gè)latlngData 類,保存經(jīng)緯度信息,經(jīng)緯度由Geocoder.getFrom
53、LocationNAME()方法按照用戶輸入地址解析而得到。*/</p><p> class LatlngData</p><p> { String startLatlng;</p><p> String endLatlng;</p><p> public LatlngData()</p><p>&l
54、t;b> {</b></p><p> this.startLatlng=“”;</p><p> this.endLatlng =“”;</p><p><b> }</b></p><p> public String getStartLatlng()</p><p&g
55、t;<b> {</b></p><p> return startLatlng;</p><p><b> }</b></p><p> public String getEndLatlng()</p><p><b> {</b></p><p
56、> return endLatlng;</p><p><b> }</b></p><p><b> }</b></p><p> // 通過LatlngDataInterface () 方法將數(shù)據(jù)類綁定給javascript,這樣javascript 就能夠獲// 得了用戶的數(shù)據(jù)了。</p>
57、<p> public class DataJavaScriptInterface{</p><p> public LatlngData LatlngDataInterface(){</p><p> latlngData = getLatlngData();</p><p> return latlngData;</p><
58、;p><b> }</b></p><p> 在Html 網(wǎng)頁中編寫以下代碼獲得數(shù)據(jù),并通過格式轉(zhuǎn)換使數(shù)據(jù)能夠?yàn)榫€路規(guī)劃所接受,代碼如下:</p><p> var latlngData = window.demo.LatlngDataInterface();</p><p> // 獲取起點(diǎn)和終點(diǎn)位置的經(jīng)緯度信息為String
59、格式</p><p> startLatlng = latlngData.getStartLatlng();</p><p> endLatlng = latlngData.getEndLatlng();</p><p> // 把String 格式經(jīng)緯度轉(zhuǎn)換為Float 格式</p><p> startLat = parseFlo
60、at(startLatlng.substring(0,8));</p><p> startLng = parseFloat(startLatlng.substring(10,18));</p><p> endLat = parseFloat(endLatlng.substring(0,8));</p><p> endLng = parseFloat(en
61、dLatlng.substring(10,18));</p><p> 通過DirectionsService 對(duì)象計(jì)算路線(使用各種交通方式)。</p><p> 此對(duì)象與Google Maps API Directions Service 進(jìn)行通信,該服務(wù)將接收路線請(qǐng)求并傳回計(jì)算結(jié)果。可以自行處理這些路線結(jié)果,也可以使用DirectionsRenderer 對(duì)象渲染這些結(jié)果:<
62、;/p><p> function calcRoute(){</p><p> start = beginLatlng;</p><p> end = endLatlng;</p><p> var request = {</p><p> origin:start,</p><p>
63、destination:end,</p><p> travelMode: google.maps.DirectionsTravelMode.DRIVING</p><p><b> };</b></p><p> directionsService.route(request,function(response,status){<
64、/p><p> if(status == google.maps.DirectionsStatus.OK){</p><p> var warnings = document.getElementById(“warnings_panel”);</p><p> warnings.innerHTML = “” + response.routes [0].warnin
65、gs + “”;</p><p> directionsDisplay.setDirections(response);</p><p> showSteps(response);</p><p><b> }</b></p><p><b> });</b></p><
66、p><b> }</b></p><p> 通過上述的操作我們基本上實(shí)現(xiàn)了線路規(guī)劃,在此基礎(chǔ)上我們能夠添加更多的功能,如語音導(dǎo)航、路況提示、周邊配套設(shè)施提示等,使用戶獲得更好的用戶體驗(yàn)。</p><p><b> 5 總結(jié)</b></p><p> Google Maps 作為最早的網(wǎng)上電子地圖服務(wù),其強(qiáng)大的
67、功能和開放的API ,使得我們能夠在其基礎(chǔ)上二次開發(fā)出很好的應(yīng)用。具有很大的商用價(jià)值。該系統(tǒng)還存在網(wǎng)頁載入速度較慢、語音提示功能等問題,還有待進(jìn)一步研究和開發(fā)。</p><p> 近年來手機(jī)的應(yīng)用越來普遍,并且逐漸朝著智能化方向發(fā)展。作為智能手機(jī)領(lǐng)域新興的后起之秀,Andro記智能手機(jī)操作系統(tǒng)越來越被人們所關(guān)注,尤其是在以Android智能手機(jī)越來越流行的今天,研究Android智能手機(jī)操作系統(tǒng)顯得尤為有意義。
68、</p><p><b> 6 致謝</b></p><p> 本課題在選題及研究過程中得到老師的悉心指導(dǎo)。老師多次詢問研究進(jìn)程,并為我指點(diǎn)迷津,幫助我開拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。萬老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不僅授我以文,而且教我做人,使我終生受益。總之,非常感謝。</p><p><b> [參
69、考文獻(xiàn)]</b></p><p> [1] 舒賢華.基于Android平臺(tái)的手機(jī)認(rèn)飛b地圖服務(wù)設(shè)計(jì)[D].大連海事大學(xué).2009</p><p> [2] 張艷芳.Android手機(jī)W七b地圖服務(wù)的應(yīng)用設(shè)計(jì)[D].南昌大學(xué).2010</p><p> [3] 何 晶.面向智能手機(jī)導(dǎo)航地圖系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].武漢大學(xué).2005<
70、;/p><p> [4] 黨李成.基于Goole Android智能手機(jī)平臺(tái)的研究與應(yīng)用[D].安徽大學(xué).2010</p><p> [5] 段 博.手機(jī)導(dǎo)航的設(shè)計(jì)與實(shí)現(xiàn)[D].山東大學(xué)。2009</p><p> [6] 高博.基于 J2ME 的移動(dòng)通信技術(shù)的研究與應(yīng)用[D].沈陽工業(yè)大學(xué)碩士學(xué)位論文,2006.</p><p&
71、gt; [7] 董振寧.無線移動(dòng)位置服務(wù)平臺(tái)的構(gòu)架與應(yīng)用.地理信息世界,2003(3):20一25</p><p> [8] 差沙,地獄男爵.用 Android 開發(fā)手機(jī)應(yīng)用[J].程序員,2008</p><p> [9」 張國生,高博,姚慧敏.手機(jī)定位服務(wù)與電子地圖[J].繪科學(xué)技術(shù)學(xué)報(bào).2007年6月第</p><p><b> 2
72、4卷第3期</b></p><p> [10」 杜國慶,龔越新.淺談新型網(wǎng)絡(luò)地圖服務(wù)【J].2006年8月第29卷第4期</p><p> [11] 周文杰.基于Goole Maps平臺(tái)電子詞典軟件設(shè)計(jì)與實(shí)現(xiàn)【D].連理工大學(xué).2008</p><p> [12] 孫楓.基于第三代移動(dòng)通信系統(tǒng)的定位技術(shù)研究 [D1.哈爾濱工程大學(xué).200
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于android平臺(tái)的手機(jī)計(jì)步器設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文--基于google android平臺(tái)上的軟件設(shè)計(jì)研究
- 基于android平臺(tái)的手機(jī)商城的畢業(yè)論文
- android畢業(yè)論文--google android手機(jī)嵌入式系統(tǒng)的研究及開發(fā)
- android畢業(yè)論文--基于android平臺(tái)的商城
- 基于Android平臺(tái)的手機(jī)計(jì)步器設(shè)計(jì)畢業(yè)論文(2稿).doc
- 基于Android平臺(tái)的手機(jī)計(jì)步器設(shè)計(jì)畢業(yè)論文(終稿).doc
- 基于Android平臺(tái)的手機(jī)計(jì)步器設(shè)計(jì)畢業(yè)論文(終稿).doc
- 畢業(yè)論文設(shè)計(jì) 基于android手機(jī)平臺(tái)的音樂播放器
- 基于Android平臺(tái)的手機(jī)計(jì)步器設(shè)計(jì)畢業(yè)論文(終稿).doc
- 基于Android平臺(tái)的手機(jī)計(jì)步器設(shè)計(jì)畢業(yè)論文(2稿).doc
- 基于Android平臺(tái)的手機(jī)計(jì)步器設(shè)計(jì)畢業(yè)論文(2稿).doc
- 基于android的手機(jī)衛(wèi)士——畢業(yè)論文
- 基于android的手機(jī)衛(wèi)士——畢業(yè)論文
- 基于android手機(jī)平臺(tái)的音樂播放器-畢業(yè)論文
- 基于Android平臺(tái)的手機(jī)計(jì)步器畢業(yè)論文(1稿).doc
- 基于Android平臺(tái)的手機(jī)計(jì)步器畢業(yè)論文(1稿).doc
- 基于android手機(jī)平臺(tái)的音樂播放器【畢業(yè)論文】
- 畢業(yè)論文基于android手機(jī)平臺(tái)的音樂播放器
- 基于Android平臺(tái)的手機(jī)計(jì)步器畢業(yè)論文(1稿).doc
評(píng)論
0/150
提交評(píng)論