www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(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)門(mé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ī)劃、步行、公交、騎行和駕車(chē)。不同的出行方式,在實(shí)現(xiàn)功能的時(shí)候都需要新建一個(gè)0ver1ay來(lái)畫(huà)出步行路線圖層,包括起點(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),以天安門(mén)為例:

case"天安門(mén)":

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)系本站刪除。
換一批
延伸閱讀

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問(wèn)一些東西。你可以使用android的USB OTG功能(是的,幾乎每個(gè)android都支持這個(gè)功能,你可以將鼠標(biāo)和鍵盤(pán)連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹(shù)莓派

Google 宣布與中國(guó) AR 科技公司 XREAL 達(dá)成深度戰(zhàn)略合作,聯(lián)合推出全球首款專為 Android XR 平臺(tái)打造的旗艦級(jí) AR 眼鏡 Project Aura。

關(guān)鍵字: Google XREAL Android XR眼鏡 AR

繼停止維護(hù)AOSP開(kāi)源項(xiàng)目后,谷歌母公司Alphabet近日被曝在其安卓系統(tǒng)(Android)、Pixel手機(jī)以及Chrome瀏覽器等部門(mén)裁員數(shù)百人。這一舉措引發(fā)了業(yè)界的廣泛關(guān)注,也引發(fā)了對(duì)谷歌未來(lái)業(yè)務(wù)布局的諸多猜測(cè)。

關(guān)鍵字: 谷歌 AOSP Android 裁員

在本教程中,我們將使用Capacitor 6、Angular和TypeScript構(gòu)建一個(gè)Android應(yīng)用程序,該應(yīng)用程序通過(guò)串行端口連接到BleuIO USB加密狗。該應(yīng)用程序允許用戶直接從Android設(shè)備發(fā)送和接...

關(guān)鍵字: Android USB 電容器 BLE設(shè)備

早前媒體報(bào)道谷歌將停止維護(hù)Android開(kāi)源項(xiàng)目(AOSP),將Android開(kāi)發(fā)全面轉(zhuǎn)向內(nèi)部閉源分支,目前這一消息已經(jīng)得到谷歌官方確認(rèn)。

關(guān)鍵字: 谷歌 Android 開(kāi)源

本項(xiàng)目演示了如何通過(guò)OTG (on - go) USB在Android設(shè)備上使用BleuIO USB加密狗作為串行端口。使用電容器6和@adeunis/電容器-串行插件,我們建立串行連接,發(fā)送AT命令,并實(shí)時(shí)讀取響應(yīng)。該...

關(guān)鍵字: 電容器 Android 傳感器 微控制器 嵌入式系統(tǒng)

在Linux操作系統(tǒng)中,Android Debug Bridge(ADB)是一個(gè)功能強(qiáng)大的命令行工具,它允許開(kāi)發(fā)者在計(jì)算機(jī)和Android設(shè)備之間建立通信,從而進(jìn)行調(diào)試、管理、安裝應(yīng)用等操作。本文將詳細(xì)介紹在Linux系...

關(guān)鍵字: Linux系統(tǒng) Android Debug ADB

隨著Android操作系統(tǒng)的進(jìn)步,智能手機(jī)的使用日益增加。隨后,有報(bào)道稱,惡意個(gè)人和黑客利用 Android 提供的漏洞來(lái)訪問(wèn)用戶珍視的數(shù)據(jù)。例如,此類威脅包括 2021 年針對(duì) Android 設(shè)備發(fā)布的 Flubot...

關(guān)鍵字: Android 惡意軟件

在本教程中,我們將構(gòu)建超出電子領(lǐng)域的東西。作為一名電子工程師,我們大多數(shù)人都想為我們的物聯(lián)網(wǎng)應(yīng)用程序構(gòu)建一些用戶界面,在大多數(shù)情況下,Android應(yīng)用程序?qū)⑹怯脩襞c我們的物聯(lián)網(wǎng)設(shè)備交互的正確選擇。所以,如果你想為你的物...

關(guān)鍵字: 物聯(lián)網(wǎng) Android
關(guān)閉