ANDROID畢業(yè)論文_第1頁(yè)
ANDROID畢業(yè)論文_第2頁(yè)
ANDROID畢業(yè)論文_第3頁(yè)
ANDROID畢業(yè)論文_第4頁(yè)
ANDROID畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于android 平臺(tái)的google map的手機(jī)導(dǎo)航設(shè)計(jì)摘 要 google 公司于 2007 年 11 月發(fā)布 android 系統(tǒng)以來(lái),短短四年時(shí)間,android 已經(jīng)占據(jù)了智能手機(jī)市場(chǎng)的半壁江山,是目前最為炙手可熱的智能手機(jī)操作系統(tǒng)。android 走進(jìn)了越來(lái)越多人的生活,成為他們獲取信息主要設(shè)備。隨著擁有私家車的家庭越來(lái)越多,大部分司機(jī)朋友都希望能接收到導(dǎo)航服務(wù),為自己的旅程提供準(zhǔn)確便利的信息。除了購(gòu)買導(dǎo)航儀以外,導(dǎo)航軟件的出現(xiàn)為司機(jī)朋友增加了一個(gè)選擇,通過(guò)手機(jī)就能實(shí)現(xiàn)導(dǎo)航功能,不但節(jié)省了一筆導(dǎo)航儀的費(fèi)用,還能為獲得除了導(dǎo)航服務(wù)以外的更多信息。目前市面上大部分導(dǎo)航軟件都存在如占用

2、空間大,地圖數(shù)據(jù)不全面等弊端,一部分用戶體驗(yàn)可能就不是很好。google map 作為最先推出的網(wǎng)上地圖,各種數(shù)據(jù)信息最為全面和準(zhǔn)確,本系統(tǒng)通過(guò)google map api 設(shè)計(jì)一個(gè)能夠?qū)崿F(xiàn)定位、導(dǎo)航和交通信息發(fā)布等等功能的在線導(dǎo)航軟件。在android 設(shè)備上具有良好的用戶界面、響應(yīng)速度和用戶體驗(yàn)。 關(guān)鍵詞 智能手機(jī) android google map 導(dǎo)航應(yīng)用abstract since google released android system in november 2007, just four years time, android already accounts for h

3、alf of the smartphone market, is by far the hottest smartphone operating system. android went more and more peoples 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

4、 their journey. in addition to buying navigator, navigation software is another choice for drivers, phone can make navigation, saves a navigation instrument fee, but also to obtain in addition to navigation services for more information. there most of the navigation software on the market has some d

5、rawbacks such as occupy a large space; map data is not comprehensive. part of the user experience may not be very good.google map as the first online map, all kinds of data information is the most comprehensive and accurate, this system through the google map api design one to achieve a positioning,

6、 navigation and traffic information and more features for online navigation software. in the android device is a good user interface, speed of response, and user experience.keywords smartphone android google map navigation1 引言 在當(dāng)今社會(huì),手機(jī)已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡墓ぞ撸杂脩趔w驗(yàn)為核心訴求的智能手機(jī),使手機(jī)由單一的通信終端發(fā)展成為互聯(lián)網(wǎng)終端。越來(lái)越多的互聯(lián)網(wǎng)應(yīng)

7、用被移植到智能手機(jī)中來(lái),導(dǎo)航軟件在智能手機(jī)中的應(yīng)用成為了研究熱點(diǎn)之一。在目前大部分智能手機(jī)都提供 gps 定位服務(wù)以及 3g 無(wú)線網(wǎng)絡(luò)越來(lái)越普及的雙重驅(qū)動(dòng)下,在 google 地圖中實(shí)現(xiàn)導(dǎo)航服務(wù),是具有可行性的。 本文提出并實(shí)現(xiàn)了一種基于google map api 的 android 導(dǎo)航應(yīng)用,能夠給用戶提供人性化和智能化的地圖導(dǎo)航服務(wù)。2 緒論2.1面向智能手機(jī)的導(dǎo)航地圖系統(tǒng)的發(fā)展現(xiàn)狀 隨著無(wú)線傳輸技術(shù)的更新?lián)Q代和無(wú)線互聯(lián)技術(shù)的不斷發(fā)展,在需求和技術(shù)的雙重驅(qū)動(dòng)下,將互聯(lián)網(wǎng)上的海量信息和強(qiáng)大的應(yīng)用服務(wù)功能擴(kuò)展到移動(dòng)終端上,為用戶提供隨時(shí)、隨地的信息服務(wù)成為信息服務(wù)業(yè)的重要發(fā)展方向。面向智能手

8、機(jī)的空間信息服務(wù)系統(tǒng)已經(jīng)成為當(dāng)前移動(dòng)空間信息系統(tǒng)的研究熱點(diǎn)。研究移動(dòng)空間信息系統(tǒng)的單位主要是通信廠商、第三方服務(wù)開(kāi)發(fā)商以及學(xué)校和科研單位。當(dāng)前面向智能手機(jī)的地圖導(dǎo)航系統(tǒng)所提供的服務(wù)主要集中在地圖的瀏覽、查詢、定位、導(dǎo)航、地址匹配、交通信息查詢、地理數(shù)據(jù)傳輸以及其它服務(wù)。 國(guó)外開(kāi)展此類研究的大型公司和機(jī)構(gòu)有很多,如uwnierdplnaet、nokia、ericsson、motorola、nttdocom。、at&twieresls、es刃、nitegrraph等公司。國(guó)內(nèi)相對(duì)開(kāi)展得要晚一些,從事這方面研究與開(kāi)發(fā)的機(jī)構(gòu)有北京四維圖新導(dǎo)航技術(shù)有限公司,北京靈圖軟件技術(shù)有限公司,上海杰獅信息技術(shù)有限

9、公司,上海比技公司,成都華好公司,圖行天下信息咨詢有限公司,中科華建公司,武漢大學(xué)地圖制圖與地理信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,測(cè)繪遙感信息國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京大學(xué)遙感研究所,解放軍信息工程學(xué)院等。 在開(kāi)發(fā)模式上,不同的研究機(jī)構(gòu)所采用的模式有所不同,目前最主流也是最成熟的模式有場(chǎng)叭p和i一mode。認(rèn)人pi.0是nokia、ericsson、motoorla和unwiredplnaet這四家公司合作建立的一個(gè)開(kāi)放的標(biāo)準(zhǔn)。這些認(rèn)叭p規(guī)范并非僅為一種標(biāo)記語(yǔ)言,它們還包括了一個(gè)非常類似tcp八p和http的協(xié)議集,但經(jīng)過(guò)修改后它們可以更有效地在高噪聲、低品質(zhì)、易掉線的環(huán)境中使用,而這些都是移動(dòng)通信的特點(diǎn)。另外,

10、規(guī)范中包括一個(gè)網(wǎng)絡(luò)安全層,以及許多用于傳輸可編程電話應(yīng)用程序的特性。這些應(yīng)用程序是使用智能電話的核心功能。最后,認(rèn)誠(chéng)p規(guī)范還包括主要基于unweridplnaethdn壓(hnahddeldeviecmkarpulnagugae,手持設(shè)備標(biāo)記語(yǔ)言)的wml,以及與jvaascript相似的稱為wn壓seript的腳本語(yǔ)言。最新發(fā)布的認(rèn)叭p2.0版本用與x州壓兼容的ht側(cè)比的變體模塊xhi,n幾替代了wml。或許認(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ù)量上來(lái)說(shuō)該公司提

11、供的i一mdee服務(wù)取得了巨大的成功,其用戶數(shù)量明顯超過(guò)認(rèn)認(rèn)p。但做為一種解決方案來(lái)說(shuō)在技術(shù)上i一mdoe并沒(méi)有超過(guò)認(rèn)叭p。i一mdoe服務(wù)使用的是一種壓縮ht州比ocmpactht側(cè)壓,chtml)的標(biāo)記語(yǔ)言,它是萬(wàn)維網(wǎng)協(xié)會(huì)(worid鉑d。webcnoosrtiunl,w3c)在1998年發(fā)布的規(guī)范。ch側(cè)ml語(yǔ)言重又使用了htmli.0版的原則并類似html3.2版,它是ht州l的有效子集,因此,可以在任何html瀏覽器中顯示。哪種移動(dòng)inetmet技術(shù)是最好的,這還沒(méi)有定論。面對(duì)不斷競(jìng)爭(zhēng)的移動(dòng)inetmet接入市場(chǎng),任何一種技術(shù)都不可能占據(jù)統(tǒng)治地位。各種市場(chǎng)研究組織似乎達(dá)成了共識(shí):無(wú)論

12、這些智能移動(dòng)終端設(shè)備使用何種技術(shù),智能手機(jī)不久就會(huì)取代有線個(gè)人電腦。2.2面向智能手機(jī)導(dǎo)航地圖系統(tǒng)的基本概念2.2.1智能手機(jī) 什么樣的手機(jī)才可以稱為智能手機(jī)?除了最早期的“手機(jī)加上pda”外,還有什么衡量標(biāo)準(zhǔn)?本人認(rèn)為可以被稱為智能手機(jī)至少有四個(gè)標(biāo)準(zhǔn):可以語(yǔ)音和數(shù)據(jù)通信,這是手機(jī)的基本功能;基本的pda功能;通信功能與pda功能無(wú)縫融合,而非簡(jiǎn)單的“1+l”;開(kāi)放式操作系統(tǒng),第三方可根據(jù)操作系統(tǒng)提供的api為智能手機(jī)開(kāi)發(fā)各種擴(kuò)展應(yīng)用和提供各種擴(kuò)展硬件,這是智能手機(jī)的根本特性。 現(xiàn)在跟智能手機(jī)有關(guān)的名詞特別多也很容易混淆,下面就有幾個(gè)概念需要明確: pocketpc:掌上型計(jì)算機(jī),以pda為應(yīng)

13、用方向,具有觸控屏幕。雖然可以外加gprs卡來(lái)接打電話和使用gprs,但是一旦使用者將power鍵按下后,gprs和手機(jī)功能就暫停了。換句話說(shuō),任何打來(lái)的電話都不會(huì)接通的。ppc的操作系統(tǒng)是wince3.0和windowsmboeli2003,對(duì)使用windows操作系統(tǒng)的用戶來(lái)說(shuō)沒(méi)有任何使用上的困難。這個(gè)平臺(tái)是開(kāi)放的,如果你覺(jué)得它內(nèi)置的應(yīng)用程序不能滿足你的需要,那么你可以安裝自己各種各樣的第三方軟件。 pokcetpcphnoe:在pocketpc的架構(gòu)中加入手機(jī)功能,因此與pocketpc最大的差別在于poeketpcphone可以插入sim卡后當(dāng)作手機(jī)使用(cdma系統(tǒng)無(wú)須插入sim卡)

14、,按下power鍵,手機(jī)功能依然持續(xù)在運(yùn)作。此外pocketpc應(yīng)用程序原則上兼容于pocketpcphnoe。 smartphnoe:定位為純手機(jī)操作的系統(tǒng),沒(méi)有觸控屏幕的設(shè)計(jì),中英文輸入法以操作數(shù)字鍵輸入為基本設(shè)計(jì),在顯示上也以數(shù)字鍵操作為考量,在程序集中即以1,9來(lái)設(shè)定對(duì)應(yīng)的選擇。而smartphnoe的程序必須與pocketpc(phnoe)分開(kāi)設(shè)計(jì),也就是說(shuō)是不兼容的。 簡(jiǎn)單的界定,pocketpcphone就是以數(shù)據(jù)功能為主,話音功能為副的產(chǎn)品;相反smartphnoe就是以話音功能為主,輔助其他數(shù)據(jù)及上網(wǎng)功能。不過(guò)世事無(wú)絕對(duì),市面上也有很多手機(jī)已經(jīng)是在這個(gè)界定兩者之間。本人認(rèn)為,

15、不論是pocketpcphone還是smartphone,只要符合智能手機(jī)的四條標(biāo)準(zhǔn),就屬于智能手機(jī)的范疇。2.2.2面向智能手機(jī)的導(dǎo)航地圖 導(dǎo)航地圖屬于電子地圖的范疇,是以導(dǎo)航應(yīng)用為基礎(chǔ),著重表現(xiàn)路網(wǎng)的電子地圖,在此基礎(chǔ)上可以進(jìn)行導(dǎo)航功能的開(kāi)發(fā)。移動(dòng)地圖是指通過(guò)基于位置的服務(wù)為顧客提供的顯示在移動(dòng)設(shè)備上的地圖可視化產(chǎn)品。面向智能手機(jī)的導(dǎo)航地圖,由于其地圖表現(xiàn)載體的特殊性,即移動(dòng)性,因此也屬于移動(dòng)地圖的范疇。這類特殊電子地圖的特點(diǎn)是:能夠隨時(shí)隨地按用戶的需求以用戶的當(dāng)前位置為基點(diǎn)顯示空間信息,具有設(shè)備可移動(dòng)性、用戶自適應(yīng)性、信息獲取靈活性、信息顯示動(dòng)態(tài)性等特點(diǎn)。 利用面向智能手機(jī)的移動(dòng)空間信息

16、技術(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ī)),開(kāi)發(fā)人員采用java、brew、.net等軟件開(kāi)發(fā)平臺(tái)和嵌入式開(kāi)發(fā),可以實(shí)現(xiàn)終端的服務(wù)功能。在服務(wù)器端,開(kāi)發(fā)人員可采用各種面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言開(kāi)發(fā)空間信息服務(wù),實(shí)現(xiàn)空間信息組織、分析、分發(fā)等功能。3 android開(kāi)發(fā)平臺(tái)的搭建及開(kāi)發(fā)環(huán)境特點(diǎn)3.1 android開(kāi)發(fā)平臺(tái)的搭建搭建android開(kāi)發(fā)平臺(tái)1.1安裝java jdk,最新版本為6,下載地址1.2安裝eclipseecl

17、ipse是一款開(kāi)源的集成開(kāi)發(fā)環(huán)境,他能夠極大的提高開(kāi)發(fā)應(yīng)用效率。最重要的是,它提供了豐富的android應(yīng)用。開(kāi)發(fā)人員可以訪問(wèn)網(wǎng)址/downloads/下載eclipse軟件,如圖1-2所示。圖1-2eclipse有多個(gè)版本,開(kāi)發(fā)android應(yīng)用只需要下載“eclipse ide for javadevelopers”版本即可。下載得到一個(gè)壓縮文件,只需解壓到指定目錄(c:/eclipse)。進(jìn)入解壓目錄,雙擊可執(zhí)行文件eclipse.exe,得到如圖1-2-1啟動(dòng)界面。圖1-2-11.3安裝adt插件在圖1-2-1所示的eclipse界面中選擇菜單

18、【help】-【install new software】來(lái)打開(kāi)【install】對(duì)話框,如圖1-3所示。圖1-3單擊右上角【add】按鈕,彈出如圖1-3-1【add repository】。圖1-3-1在【name】中輸入adt,在【location】文本框中輸入adt插件下載地址。如圖1-3-1。過(guò)幾秒鐘后,在【install】對(duì)話框的中間列表部分,將得到與eclipse相匹配的adt插件。如圖1-3-2圖1-3-2單擊單擊【select all】按鈕選擇上述插件,單擊【next】進(jìn)入下一步安裝步驟,如下圖1-3-3 圖1-3-3單擊【next】按鈕進(jìn)入下一步,如圖1-3-4 圖1-3-4

19、單擊按鈕【i accept the trems of the license agreements】接受協(xié)議。單擊【finish】,eclipse開(kāi)始從指定的網(wǎng)站下載adt插件,如圖1-3-5 圖1-3-5插件下載過(guò)程中會(huì)彈出如圖1-3-6所示的窗口,提醒插件包含沒(méi)有有效簽名的類容,完全可以忽落這一提示,單擊【ok】繼續(xù)。 圖1-3-6得到如圖所示的運(yùn)行的界面,提示需要重啟eclipse。單擊,至此android開(kāi)發(fā)環(huán)境已經(jīng)搭建成功。3.2 android開(kāi)發(fā)環(huán)境特點(diǎn) android作為一個(gè)開(kāi)放式的平臺(tái),理論上可以在其上開(kāi)發(fā)基于多種語(yǔ)言的應(yīng)用程序(例如c+-t-、java等等),但是andro

20、id平臺(tái)將java語(yǔ)言作為它的官方語(yǔ)言,這無(wú)不是考慮到j(luò)ava語(yǔ)言的強(qiáng)大功能和極佳的平臺(tái)適應(yīng)性,也是基于如此考慮android平臺(tái)上絕大部分的程序都是基于java的程序。 eclipse作為時(shí)下最流行的java開(kāi)發(fā)工具之一,其良好的開(kāi)放性、開(kāi)發(fā)效率高、便于使用的特點(diǎn)非常符合 oha(openhandsetallianee開(kāi)放手機(jī)聯(lián)盟)的主旨,非常適合作為andrnid的開(kāi)發(fā)工具來(lái)使用。另外,為便于andrnid應(yīng)用程序的開(kāi)發(fā),oha專門為eclipse開(kāi)發(fā)了android插件,使得開(kāi)發(fā)者可以方便的使用eclipse開(kāi)發(fā)android應(yīng)用程序?;谝陨蟽牲c(diǎn)本文選擇eclipse作為其開(kāi)發(fā)工具。4

21、 軟件設(shè)計(jì)的主題內(nèi)容4.1 ui 界面設(shè)計(jì)android 應(yīng)用程序的基本功能單元就是activity 類中的一個(gè)對(duì)象,activity 主要功能為界面顯示和事件處理。在activity 中使用view和viewgroup 控件配xml 樣式來(lái)進(jìn)行界面設(shè)計(jì),使用事件處理進(jìn)行人機(jī)交互,主要的事件處理為按鈕事件、觸屏事件以及一些高級(jí)控件的事件監(jiān)聽(tīng)。通過(guò)設(shè)置控件與事件處理就形成了ui 界面。1、gps 定位信息的顯示通過(guò)textview控件顯示定位信息。在程序打開(kāi)時(shí)就顯示目前用戶的具體位置和郵編,門牌號(hào)等相關(guān)信息,若gps 定位不成功或者出錯(cuò),則顯示“無(wú)法獲取目前地址”。2、用戶輸入導(dǎo)航起始地點(diǎn)通過(guò)設(shè)

22、置editview控件,用戶能在改控件中輸入自己需要導(dǎo)航的起始地點(diǎn),通過(guò)設(shè)置名為“導(dǎo)航”的button 控件對(duì)輸入信息進(jìn)行提交,當(dāng)監(jiān)聽(tīng)到button 按鈕onclick 時(shí)則分析起始地址,若起始地址都能被解析,則載入導(dǎo)航地圖,若又一個(gè)地址解析失敗,則通過(guò)對(duì)話框控件dialog 提示用戶“輸入地址錯(cuò)誤,請(qǐng)重新輸入”。3、導(dǎo)航界面設(shè)計(jì)在導(dǎo)航界面中設(shè)置webview 控件,webview 控件通過(guò)與javascript 互相調(diào)用,把起始地址等信息傳遞給服務(wù)器中的html 導(dǎo)航網(wǎng)頁(yè)。網(wǎng)頁(yè)獲得地址等信息后進(jìn)行導(dǎo)航并通過(guò)webview控件顯示在應(yīng)用程序?qū)Ш浇缑嬷小?.2 gps 定位功能實(shí)現(xiàn) 全球衛(wèi)星定位

23、系統(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)用。android 支持gps 服務(wù)的api.該服務(wù)可以用來(lái)獲取當(dāng)前設(shè)備的地理位置,應(yīng)用程序通過(guò)該api 獲得地理位置,并可以定時(shí)請(qǐng)求更新當(dāng)前設(shè)備的地理定位信息。該系統(tǒng)將用到gps api 中包幾個(gè)重要的功能類:locationmanager,用于管理android 用戶定位服務(wù);locationprovider,提供多種定位方式供開(kāi)發(fā)者選擇;criteria,是應(yīng)用通過(guò)locationprovide

24、r 中設(shè)置的屬性來(lái)選擇合適的定位提供者。獲取用戶當(dāng)前位置的步驟如下:1、在androidmanifest.xml 中聲明相應(yīng)的權(quán)限:2、獲取locationmanager 對(duì)象:locationmanager locationmanager =(locationmanager)getsystemservice (context.location_service);3、設(shè)置criteria 對(duì)象:criteria criteria = newcriteria();criteria.setaccuracy(criteria.accuracy_fine);criteria.setaltitudere

25、quired(false);criteria.setbearingrequired(false);criteria.setcostallowed(false);criteria.setpowerrequirement(criteria.power_low);4、設(shè)置provider:string provider = locationmanager.getbestprovider(criteria,true);location location= locationmanager.getlastknownlocation(provider);4.3 導(dǎo)航功能實(shí)現(xiàn)在正式版本的android sdk

26、 中,移除了原有m5 版本里面的drivingdirection package,所以無(wú)法透過(guò)程序來(lái)規(guī)劃導(dǎo)航線路。因此導(dǎo)航功能的實(shí)現(xiàn)我們是通過(guò)載入web 導(dǎo)航網(wǎng)頁(yè)的方式實(shí)現(xiàn)的。android 提供了一個(gè)名為webview的控件來(lái)專門瀏覽網(wǎng)頁(yè)。webview控件是基于webkit 瀏覽器網(wǎng)頁(yè)排版引擎的一個(gè)java接口,它能夠完美支持html、javascript、css.有時(shí)我們可以把整個(gè)ui 甚至數(shù)據(jù)處理都交給webview,配合php 等服務(wù)器端程序,這樣的android 應(yīng)用開(kāi)發(fā)更為簡(jiǎn)單ui 更為豐富。因此本系統(tǒng)的導(dǎo)航功能的主要工作就集中在編寫(xiě)google map api javascri

27、pt 版本的導(dǎo)航網(wǎng)頁(yè)以及webview與javascript 的數(shù)據(jù)交互中。1、webview 的定義及設(shè)置:首先要在xml 布局文件中定義webview控件;然后在程序中裝載這個(gè)控件,設(shè)置屬性;最后通過(guò)loadurl 方法實(shí)現(xiàn)網(wǎng)頁(yè)的載入。webview 常用的類有:websettings、webviewclient、webchromeclient.websettings 用來(lái)設(shè)置webview的一些屬性狀態(tài),如:/ 設(shè)置可以訪問(wèn)文件websettings.setallowfileaccess(true);/ 設(shè)置支持縮放websettings.setbuiltinzoomcontrols(t

28、rue);webviewclient 專門輔助webview處理各種通知、請(qǐng)求等事件類,通過(guò)webview 的setwebviewclient 方法來(lái)指定一個(gè)webviewclient 對(duì)象,如下:webview.setwebviewclient(newwebviewclient()public boolean shouldoverrideurlloading(webviewview,string url)view.loadurl(url);return true;)webchromeclient 類專門用來(lái)輔助webview對(duì)話框、網(wǎng)站圖標(biāo)、網(wǎng)站title、加載進(jìn)度等。使用方法如下:webv

29、iew.setwebchromeclient(newwebchromeclient()override/ 該方法為處理javascript 中的alert 事件public boolean onjsalert (webview view,string url,stringmessage,jsresult result)/ todo auto- generated method stubreturn super.onjsalert(view,url,message,result););設(shè)置完webview后主要工作就是html 網(wǎng)頁(yè)的編寫(xiě)。2、編寫(xiě)html 網(wǎng)頁(yè)實(shí)現(xiàn)線路規(guī)劃:線路規(guī)劃的前提是必須

30、要指定起始地址以及出行方式,本系統(tǒng)用戶是通過(guò)在activity 中輸入地址和選擇出行方式來(lái)向系統(tǒng)提交信息。webview 必須從應(yīng)用中獲取信息,然后發(fā)送給html,供javascript 調(diào)用并實(shí)現(xiàn)導(dǎo)航。在android 應(yīng)用端,定義一個(gè)類保存用戶輸入的起始地址的經(jīng)緯度信息:/ 在javascript 腳本中調(diào)用得到latlngdata 對(duì)象public latlngdata getlatlngdata() return latlngdata;/* 定義一個(gè)latlngdata 類,保存經(jīng)緯度信息,經(jīng)緯度由geocoder.getfromlocationname()方法按照用戶輸入地址解析而得

31、到。*/class latlngdata string startlatlng;string endlatlng;public latlngdata()this.startlatlng=“”;this.endlatlng =“”;public string getstartlatlng()return startlatlng;public string getendlatlng()return endlatlng;/ 通過(guò)latlngdatainterface () 方法將數(shù)據(jù)類綁定給javascript,這樣javascript 就能夠獲/ 得了用戶的數(shù)據(jù)了。public class dat

32、ajavascriptinterfacepublic latlngdata latlngdatainterface()latlngdata = getlatlngdata();return latlngdata;在html 網(wǎng)頁(yè)中編寫(xiě)以下代碼獲得數(shù)據(jù),并通過(guò)格式轉(zhuǎn)換使數(shù)據(jù)能夠?yàn)榫€路規(guī)劃所接受,代碼如下:var latlngdata = window.demo.latlngdatainterface();/ 獲取起點(diǎn)和終點(diǎn)位置的經(jīng)緯度信息為string 格式startlatlng = latlngdata.getstartlatlng();endlatlng = latlngdata.geten

33、dlatlng();/ 把string 格式經(jīng)緯度轉(zhuǎn)換為float 格式startlat = parsefloat(startlatlng.substring(0,8);startlng = parsefloat(startlatlng.substring(10,18);endlat = parsefloat(endlatlng.substring(0,8);endlng = parsefloat(endlatlng.substring(10,18);通過(guò)directionsservice 對(duì)象計(jì)算路線(使用各種交通方式)。此對(duì)象與google maps api directions serv

34、ice 進(jìn)行通信,該服務(wù)將接收路線請(qǐng)求并傳回計(jì)算結(jié)果。可以自行處理這些路線結(jié)果,也可以使用directionsrenderer 對(duì)象渲染這些結(jié)果:function calcroute()start = beginlatlng;end = endlatlng;var request = origin:start,destination:end,travelmode: google.maps.directionstravelmode.driving;directionsservice.route(request,function(response,status)if(status = google.maps.directionsstatus.ok)var warnings = document.getelementbyid(“warnings_panel

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論