當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 《機(jī)電信息》
[導(dǎo)讀]摘要:借助Android智能移動(dòng)平臺(tái),結(jié)合百度地圖開(kāi)源SDK,綜合運(yùn)用電子地圖功能、定位功能、路徑導(dǎo)航功能,設(shè)計(jì)了一款包含地圖顯示功能、實(shí)時(shí)定位功能、路徑規(guī)劃功能、景點(diǎn)搜索及展示功能的Android手機(jī)端智能化的移動(dòng)自助旅游系統(tǒng)。

引言

智慧旅游的特點(diǎn)在于智慧,通過(guò)大數(shù)據(jù)、云計(jì)算等方法,讓人們的旅行變得智慧起來(lái),人們可以通過(guò)智能手機(jī)來(lái)訂景點(diǎn)門票、查景點(diǎn)說(shuō)明、進(jìn)行路徑規(guī)劃,實(shí)現(xiàn)真正意義上的智慧旅游。本課題將旅游業(yè)和Android智能平臺(tái)相連,搭建出一款移動(dòng)自助旅游軟件,包括實(shí)時(shí)定位、路徑規(guī)劃、景點(diǎn)搜索、景點(diǎn)展示功能,方便游客的出行旅游。

1移動(dòng)自助旅游平臺(tái)設(shè)計(jì)

1.1移動(dòng)自助旅游系統(tǒng)的總體設(shè)計(jì)

如圖1所示,本移動(dòng)自助旅游軟件分為客戶端和服務(wù)器端兩個(gè)部分,服務(wù)器端包括定位服務(wù)和地圖服務(wù),服務(wù)器端為客戶端提供數(shù)據(jù)和訪問(wèn)請(qǐng)求:客戶端是基于百度地圖API平臺(tái)進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的。

1.2移動(dòng)自助旅游的實(shí)現(xiàn)方法

本軟件基于Android開(kāi)發(fā)平臺(tái),以百度地圖開(kāi)源API為工具,以移動(dòng)自助旅游為背景,在Android系統(tǒng)的平板或手機(jī)上進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)跟移動(dòng)自助旅游有關(guān)的四大主要功能:

(1)基于Android系統(tǒng),將百度地圖APIsDK導(dǎo)入到程序中,并實(shí)現(xiàn)定位功能。

百度地圖開(kāi)源API為開(kāi)發(fā)者提供了強(qiáng)大的數(shù)據(jù)資源,開(kāi)發(fā)者可以下載百度地圖提供的API,直接導(dǎo)入到程序中,然后通過(guò)相關(guān)代碼調(diào)用導(dǎo)入的程序包,整合后便可實(shí)現(xiàn)定位功能。

(2)基于Android系統(tǒng),實(shí)現(xiàn)電子地圖的查詢和搜索功能。

通過(guò)在電子地圖上搜索目的地進(jìn)行景點(diǎn)查詢時(shí),數(shù)據(jù)信息由網(wǎng)絡(luò)獲取,需要開(kāi)發(fā)者自己定義搜索框,然后通過(guò)字符串的傳輸和接收,再與按鍵綁定,實(shí)現(xiàn)在電子地圖中的檢索功能。

(3)基于Android系統(tǒng),研究電子地圖路徑規(guī)劃算法。

在路徑檢索服務(wù)器中,百度地圖存儲(chǔ)了由全國(guó)各地收集的路網(wǎng)數(shù)據(jù)。道路數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是一個(gè)加權(quán)圖,權(quán)8是基于重距和離其因素計(jì)算的值。當(dāng)用戶計(jì)算起點(diǎn)和終點(diǎn)時(shí),服務(wù)器需要做的是搜索地圖的最小加權(quán)路徑。算法具有不同的權(quán)8,可以同時(shí)計(jì)算多條路線:最短路線、最快路線時(shí)間、減少紅燈等等。

(4)基于Android系統(tǒng),實(shí)現(xiàn)景點(diǎn)展示功能。

用戶在客戶端搜索景點(diǎn)的關(guān)鍵詞,然后通過(guò)按鍵跳轉(zhuǎn),展示出用戶所搜索的景點(diǎn)。

功能設(shè)計(jì):設(shè)計(jì)出一款具有顯示地圖、精準(zhǔn)定位、景點(diǎn)搜索、路徑規(guī)劃、景點(diǎn)展示功能的電子地圖。

開(kāi)發(fā)程序:在Android平臺(tái)上,使用Java語(yǔ)言進(jìn)行開(kāi)發(fā)。

軟件測(cè)試:在實(shí)現(xiàn)了功能之后,通過(guò)調(diào)試使這款自助旅游軟件更加完善,減少錯(cuò)誤。

2移動(dòng)自助旅游平臺(tái)實(shí)現(xiàn)

2.1顯示百度地圖的基本地圖的設(shè)計(jì)

用戶在使用百度地圖開(kāi)源的資源之前,需要在百度開(kāi)發(fā)者平臺(tái)獲取開(kāi)發(fā)秘鑰。下面介紹在Androidstudio中配置工程的具體步驟:

(1)下載開(kāi)發(fā)包:首先要在百度地圖開(kāi)發(fā)者平臺(tái)的產(chǎn)品下載中下載自己需要的包。下載完畢后再打開(kāi)Androidstudio新建項(xiàng)目,輸入項(xiàng)目名稱,注意與申請(qǐng)AK秘鑰時(shí)的項(xiàng)目名稱和包名相對(duì)應(yīng)。

(2)將開(kāi)發(fā)包拷貝到工程:在工程應(yīng)用的libs目錄下放入baidumapapi***.jar包,新建jniLibs.src目錄下的so動(dòng)態(tài)庫(kù)工程會(huì)自動(dòng)加載,無(wú)需手動(dòng)配置。

(3)向工程中添加.jar文件:使用Androidstudio時(shí),在工程配置中,我們還需要把拷貝到工程中的jar包集成到自己建立的工程中,集成用AddAsLibrary。屆時(shí),在gradle相關(guān)文件中,會(huì)生成對(duì).jar文件的說(shuō)明。

2.2顯示百度地圖的基本地圖的實(shí)現(xiàn)

首先需要配置AndroidManifest.Ⅹml。

(1)在AndroidManifest中添加AK值、所需權(quán)限等信息:

(2)在定位的activitylocation.Ⅹml文件中添加地圖控件:

(3)應(yīng)用程序創(chuàng)建時(shí),所引用的xonteⅩt全局變量放在DemoApplication.java中:

(4)創(chuàng)建地圖Activity,管理地圖的生命周期。

完成以上步驟后,運(yùn)行程序,便可在真機(jī)(虛擬機(jī))上顯示地圖。

2.3百度地圖定位功能模塊的實(shí)現(xiàn)

定位功能的實(shí)現(xiàn),需要去借助百度地圖位置sDK。具體操作如下:

(l)添加百度地圖定位功能的sDK(包括jar包和.so文件)。

(2)添加百度地圖定位權(quán)限。

使用百度地圖定位sDK,首先要在AndroidManifest中聲明service組件。在此之后,百度地圖還要能夠獲取經(jīng)緯度、獲取地址、獲取位置描述、獲取周邊P0I。這樣的定位功能才能基本滿足人們的所需。利用百度地圖定位sDK,不僅可以獲得經(jīng)緯度信息,還可以獲得當(dāng)前地點(diǎn)的地址信息。獲取方法和相關(guān)配置如下:l)初始化LocationC1ient類:在主線程中聲明LocationC1ient類對(duì)象,該對(duì)象需要傳入Context類型參數(shù);2)配置定位sDK參數(shù);3)實(shí)現(xiàn)BDAbstractLocationListener接口;4)得到定位地址信息。

(3)最后在LocationDemo.java的0nCreate中調(diào)用Location-C1ient的start()方法,發(fā)起請(qǐng)求。在BDAbstractLocationListener接口中,便可獲得定位地址相關(guān)的信息。

2.4移動(dòng)自助旅游P01搜索模塊功能的設(shè)計(jì)和實(shí)現(xiàn)

本項(xiàng)目所用的信息交互需要連入互聯(lián)網(wǎng),數(shù)據(jù)從網(wǎng)絡(luò)中獲取。當(dāng)游客在客戶端提出了訪問(wèn)請(qǐng)求后,聯(lián)網(wǎng)數(shù)據(jù)庫(kù)開(kāi)始為wEB服務(wù)器提供數(shù)據(jù),之后數(shù)據(jù)再返回安卓客戶端供游客參考。本項(xiàng)目所提到的檢索功能在地理信息系統(tǒng)上稱為P0I檢索,用戶在檢索欄輸入自己的興趣點(diǎn),然后百度地圖返回這些興趣點(diǎn)并顯示在地圖中,這便是本部分功能的設(shè)計(jì)。

本項(xiàng)目實(shí)現(xiàn)了普通搜索和地點(diǎn)周邊搜索功能,下面介紹具體的實(shí)現(xiàn)辦法:

(1)創(chuàng)建搜索對(duì)象,使用靜態(tài)方法:newInstance。

(2)設(shè)置覆蓋類:為了在地圖上顯示定位,開(kāi)發(fā)者需要自己先建立一個(gè)覆蓋物(Poi0ver1ay)的.java文件,之后在P0I檢索的.java文件中調(diào)用。

(3)觸發(fā)檢索:在定位的界面通過(guò)P0I檢索功能,通過(guò)1istview加入顯示周邊景點(diǎn)的功能。這個(gè)功能能夠查找周邊方圓500m內(nèi)用戶所輸入的景點(diǎn),如果該景點(diǎn)在方圓500m內(nèi),則返回值。

2.5移動(dòng)自助旅游路徑規(guī)劃模塊的設(shè)計(jì)與實(shí)現(xiàn)

百度地圖sDK為開(kāi)發(fā)者提供了全面方便的路線規(guī)劃算法資源,包括了跨城路徑規(guī)劃、步行、公交、騎行和駕車。不同的出行方式,在實(shí)現(xiàn)功能的時(shí)候都需要新建一個(gè)0ver1ay來(lái)畫出步行路線圖層,包括起點(diǎn)、終點(diǎn)和轉(zhuǎn)彎點(diǎn)。具體的實(shí)現(xiàn)方法如下:

(1)創(chuàng)建路徑規(guī)劃?rùn)z索。

(2)注冊(cè)路徑規(guī)劃?rùn)z索的監(jiān)聽(tīng)者,并且獲得檢索結(jié)果。

(3)準(zhǔn)備路徑規(guī)劃?rùn)z索的起點(diǎn)和終點(diǎn)信息。

首先定義起點(diǎn)和終點(diǎn)的字符串:

privateEditTextstartNodestr;

privateEditTextendNodestr;

聲明起點(diǎn)、終點(diǎn)信息,并調(diào)用字符串:

P1anNodestNode=P1anNode.withCityNameAndP1aceName("北京",start);

P1anNodeenNode=P1anNode.withCityNameAndP1aceName("北京",end);

(4)如果輸入的字符串不為空并且沒(méi)有錯(cuò)誤,則返回?cái)?shù)據(jù)。

同時(shí),在路徑規(guī)劃中,除了需要顯示路徑信息的文本框,起點(diǎn)和終點(diǎn)的圖標(biāo)也需要提前準(zhǔn)備好,在路徑規(guī)劃工作時(shí),直接進(jìn)行調(diào)用即可。

2.6移動(dòng)自助旅游景點(diǎn)展示模塊的設(shè)計(jì)與實(shí)現(xiàn)

在布局文件中定義這個(gè)按鍵(button)的ID為@+id/showup,實(shí)現(xiàn)的目標(biāo)為:在文本框輸入景點(diǎn)后,點(diǎn)擊"景點(diǎn)展示"的按鍵,便跳轉(zhuǎn)到相關(guān)景點(diǎn)。實(shí)現(xiàn)步驟如下:

(1)在.java文件中找到布局文件所定義的按鍵:Buttonbtn=(Button)findViewById(R.id.showup);

(2)設(shè)置按鍵監(jiān)聽(tīng):

btn.set0nC1ickListener(newView.0nC1ickListener(){);

(3)從Edittext的文本框中得到字符串:

EditTextet=(EditText)findViewById(R.id.searchkey);stringcn=et.getText().tostring();

(4)每個(gè)景點(diǎn)的字符串(cn)為一種情況,通過(guò)switch語(yǔ)句來(lái)調(diào)轉(zhuǎn),以天安門為例:

case"天安門":

Intentintent=newIntent(PoisearchDemo.this,useTiananmen.c1ass);

startActivity(intent);

break;

3系統(tǒng)優(yōu)化與改進(jìn)

在游客眼中,好的系統(tǒng)能夠幫助游客合理安排游玩路線,僅有普通的路徑規(guī)劃無(wú)法體現(xiàn)自助旅游的特點(diǎn),希望在路徑規(guī)劃上加以改進(jìn),開(kāi)發(fā)出類似于"旅游景點(diǎn)最多路線"的路徑規(guī)劃,不斷滿足游客需求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉