亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的移動(dòng)平臺(tái)位置服務(wù)應(yīng)用研究

        2017-02-27 14:29:39柴群梁劍波楊暉吳京澄
        電腦知識(shí)與技術(shù) 2016年31期

        柴群+梁劍波+楊暉+吳京澄

        摘要:為了提高人們對(duì)地圖的使用效率,應(yīng)用在制作的過程中本著“便捷”“實(shí)用”的特點(diǎn),針對(duì)手機(jī)地圖的功能進(jìn)行分析。在借鑒百度地圖API(Application Programming Interface,應(yīng)用程序接口) 優(yōu)點(diǎn)的基礎(chǔ)上,利用位置服務(wù)技術(shù),完成用戶的自我定位、附近信息以及路線導(dǎo)航等功能。

        關(guān)鍵詞:Android 平臺(tái);手機(jī)地圖;百度地圖API;位置服務(wù)

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)31-0046-02

        1 位置服務(wù)簡介

        根據(jù)百度百科的定義,位置服務(wù)(LBS,Location Based Services)又稱定位服務(wù),LBS是由移動(dòng)通信網(wǎng)絡(luò)和衛(wèi)星定位系統(tǒng)結(jié)合在一起提供的一種增值業(yè)務(wù),通過一組定位技術(shù)獲得移動(dòng)終端的位置信息(如經(jīng)緯度坐標(biāo)數(shù)據(jù)),提供給移動(dòng)用戶本人或他人以及通信系統(tǒng),實(shí)現(xiàn)各種與位置相關(guān)的業(yè)務(wù)。實(shí)質(zhì)上是一種概念較為寬泛的與空間位置有關(guān)的新型服務(wù)業(yè)務(wù)。

        2004年,美國學(xué)者Reichenbacher將用戶使用LBS的服務(wù)歸納為五類:定位(個(gè)人位置定位)、導(dǎo)航(路徑導(dǎo)航)、查詢(查詢某個(gè)人或某個(gè)對(duì)象)、識(shí)別(識(shí)別某個(gè)人或?qū)ο螅?、事件檢查(當(dāng)出現(xiàn)特殊情況下向相關(guān)機(jī)構(gòu)發(fā)送帶求救或查詢的個(gè)人位置信息)。

        本文所研究的是基于電子地圖的一種定位、導(dǎo)航、查詢與位置相關(guān)的服務(wù)研究。

        2 Android系統(tǒng)簡介

        Android(安卓)是目前市場上應(yīng)用最廣泛的開源系統(tǒng)之一,它以Linux內(nèi)核為根基。安卓與其他的系統(tǒng)的構(gòu)架類似,采用了分層的形式,平臺(tái)的體系構(gòu)架從上到下分為四層,第一層是提供核心應(yīng)用程序的應(yīng)用程序?qū)?;第二層是?yīng)用開發(fā)的基礎(chǔ)——應(yīng)用程序框架層;第三層是支持各個(gè)組件運(yùn)行的系統(tǒng)運(yùn)行庫層;第四層是作為安卓內(nèi)核的 Linux核心層。

        在應(yīng)用程序中,并非每個(gè)應(yīng)用程序都只有一種組件構(gòu)造的,大多數(shù)應(yīng)用程序是由各種組件構(gòu)造的,跟其他應(yīng)用程序一樣,Android應(yīng)用程序也不一定只用一種組件,它通常是由四種組件構(gòu)造而成的,但也有特殊情況的時(shí)候不用或者不止用這四種組件構(gòu)造。

        第一種是作為眾多應(yīng)用程序組件中的基礎(chǔ)組件——Activity,用戶運(yùn)行程序看到的界面就是一個(gè)Activity,這個(gè)組件用于與用戶進(jìn)行交互。

        第二種是對(duì)外部的事件做出響應(yīng)時(shí)使用的組件——Broadcast Intent Reciver,作為能夠接收從sendBroadcast()發(fā)出的intent的基類。

        第三種與第一種組件擁有相同等級(jí),但它不在界面上顯示,只能在后臺(tái)運(yùn)行的組件——Service,雖然它不在界面上顯示,但可以在后臺(tái)和別的組件進(jìn)行互動(dòng)。

        最后一種是在不同的軟件之間進(jìn)行數(shù)據(jù)共享,提供統(tǒng)一的接口的組件——ContentProvider。

        3 移動(dòng)地圖實(shí)現(xiàn)

        3.1主界面的實(shí)現(xiàn)

        主界面通過線性布局的方式來設(shè)計(jì),為了用戶直觀的選擇地圖服務(wù)提供了方便,主界面實(shí)現(xiàn)過程如下:

        1)首先將activity_main.xml文件的總體布局設(shè)置成線性布局(LinearLayout),在總體布局下設(shè)置兩個(gè)字線性布局,將他們的屬性設(shè)置好,第一個(gè)線性布局將權(quán)重設(shè)(layout_weight)為20,調(diào)用百度提供的BaiduLBS_Android.jar包中的com.baidu.mapapi.map.MapView類生成組件,設(shè)置相關(guān)屬性;第二個(gè)線性布局將權(quán)重設(shè)為1,設(shè)置四個(gè)Button組件,組件名分別為登錄、定位、附近和路線,設(shè)置它們的屬性。

        2)將布局創(chuàng)建好后,打開MainActivity.java開始編寫代碼。在各種組件初始化以及setContentView方法實(shí)現(xiàn)之前,先將ApplicationContext傳入SDKInitializer的initialize()方法中,接著調(diào)用MapView取得MapView對(duì)象,之后調(diào)用BaiduMap mBaiduMap = mMapView.getMap()獲取地圖。

        運(yùn)行程序,即可在手機(jī)上顯示出該應(yīng)用,如圖1。

        3.2搜索功能的實(shí)現(xiàn)

        用戶將城市與地點(diǎn)輸入后,單擊 “搜索”按鈕,應(yīng)用將會(huì)在地圖上顯示出對(duì)應(yīng)的地點(diǎn)。實(shí)現(xiàn)此功能的步驟如下:

        1)應(yīng)用先獲取用戶輸入的城市和地點(diǎn),作為內(nèi)容傳到PlaceSearchActivity中的。

        2)在PlaceSearchActivity類中接收傳遞過來的數(shù)據(jù)。

        3)對(duì)數(shù)據(jù)進(jìn)行解析并查找對(duì)應(yīng)的經(jīng)緯度,將該地點(diǎn)顯示在應(yīng)用上。

        3.3 定位功能的實(shí)現(xiàn)

        單擊“定位”按鈕,程序會(huì)在后臺(tái)實(shí)現(xiàn)它的功能,并在界面上顯示用戶所在的位置。實(shí)現(xiàn)的步驟如下:

        1)使用LocationClient類實(shí)例化一個(gè)對(duì)象,通過該對(duì)象的registerLocationListener()方法注冊(cè)監(jiān)聽函數(shù)。

        2)定義一個(gè)MyLocationListener類,并實(shí)現(xiàn)BDLocationListener類,重寫onReceiveLocation()方法。在onReceiveLocation()中調(diào)用StringBuffer類,設(shè)置相關(guān)屬性,接著調(diào)用BitmapDescriptor類獲取顯示用戶位置的圖片以及LatLng類獲取用戶所在的經(jīng)緯度,并用OverlayOptions類把圖片和經(jīng)緯度關(guān)聯(lián)起來,使用BaiduMap類中的addOverlay()方法添加到地圖中。

        3)在MainActivitu中調(diào)用MyLocationListener類并實(shí)例化,將實(shí)例化的listener傳入LocationClient類的方法registerLocationListener()中。在locationClick()中設(shè)置相關(guān)屬性。

        3.4 附近界面的實(shí)現(xiàn)

        點(diǎn)擊 “附近”按鈕,程序?qū)⑻D(zhuǎn)到與按鈕關(guān)聯(lián)的“附近”界面,用戶可以在文本框中輸入中心點(diǎn)和目標(biāo)場所進(jìn)行查找。具體實(shí)現(xiàn)過程如下:

        1)調(diào)用PoiSearch類實(shí)例化poiSearch對(duì)象,調(diào)用newInstance()方法,接著調(diào)用OnGetPoiSearchResultListener類實(shí)例化poiListener對(duì)象,并在poiListener對(duì)象里重寫onGetPoiResult()方法和onGetPoiDetailResult()方法。

        2)在onGetPoiResult()方法中獲取POI檢索結(jié)果,調(diào)用PoiResult類中的getAllPoi()方法,接著調(diào)用BitmapDescriptor類獲取顯示用戶位置的圖片以及LatLng類獲取用戶所在的經(jīng)緯度,并用OverlayOptions類把圖片和經(jīng)緯度關(guān)聯(lián)起來,使用BaiduMap類中的addOverlay()方法添加到地圖中。

        3)將poiListener對(duì)象傳入poiSearch對(duì)象調(diào)用的setOnGetPoiSearchResultListener()方法中。

        4)在searchOnclick()方法中對(duì)輸入的內(nèi)容進(jìn)行檢索,調(diào)用PoiSearch類的searchInCity()方法。

        3.5 路線界面的實(shí)現(xiàn)

        點(diǎn)擊 “路線”按鈕,程序便會(huì)跳轉(zhuǎn)到“路線查詢”界面,在“路線查詢”界面上可以看到兩個(gè)編輯框以及四個(gè)按鈕,左邊的編輯框?qū)?yīng)起始地點(diǎn),右邊的編輯框?qū)?yīng)目的地點(diǎn),四個(gè)按鈕代表四種出行方式。用戶在編輯框中輸入起始地和目的地,在四種出行方式中選擇出行方式,即可在地圖上顯示出路線信息。

        路線查詢模塊被設(shè)置成RoutePlanActivity類,具體實(shí)現(xiàn)過程如下:

        1)RoutePlanActivity類實(shí)現(xiàn)OnMapClickListener,OnGetRoutePlanResultListener接口,在布局文件中定義兩個(gè)文本編輯框,分別對(duì)應(yīng)路線的起始地址和目的地址,以及添加四個(gè)表示步行、駕車、公交和騎行查詢方式的Button按鈕和顯示地圖的MapView組件。

        2)然后對(duì)調(diào)用MapView以及BaiduMap對(duì)地圖進(jìn)行初始化,調(diào)用RoutePlanSearch類對(duì)搜索模塊進(jìn)行初始化,并調(diào)用RoutePlanSearch類的setOnGetRoutePlanResultListener()方法注冊(cè)事件監(jiān)聽。

        3)對(duì)四個(gè)按鈕設(shè)置onClick屬性,值為searchButtonProcess。在RoutePlanActivity中實(shí)現(xiàn)searchButtonProcess()方法,并在searchButtonProcess()方法中處理搜索按鈕的響應(yīng)。

        4)在重寫的方法中onGetDrivingRouteResult(),nGetTransitRouteResult(),onGetWalkingRouteResult(),onGetBikingRouteResult()分別駕車、公交、步行和騎行四種出行方式。

        4 總結(jié)

        電子地圖作為用戶出行時(shí)為其提供地理信息的工具,要與我們?nèi)粘I畹沫h(huán)境相匹配,但用戶存在移動(dòng)性,為了符合用戶的移動(dòng)性、位置性,電子地圖上每一個(gè)POI(Point of Interest,信息點(diǎn)),都要與現(xiàn)實(shí)中的信息相匹配,在每一個(gè)POI點(diǎn)上都要搭載相關(guān)的地理信息數(shù)據(jù)。在O2O業(yè)務(wù)和移動(dòng)互聯(lián)網(wǎng)平臺(tái)快速發(fā)展的時(shí)代,地圖作為用戶和商戶之間聯(lián)系的橋梁,占據(jù)著重要作用。

        參考文獻(xiàn):

        [1] 張?jiān)?Windows下Android應(yīng)用程序開發(fā)環(huán)境搭建詳解[J] .計(jì)算機(jī)時(shí)代,2013(1):32-34.

        [2] 杜艷綏.基于Android平臺(tái)架構(gòu)應(yīng)用程序開發(fā)研究[J].電腦編程技巧與維護(hù),2013(6):12-13.

        [3] 吳麗淳,樊爽.基于安卓平臺(tái)的手機(jī)定位軟件開發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2014(9):95-98.

        [4] 謝濤.基于WiFi的室內(nèi)定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京大學(xué),2013.

        [5] 程志平.如何構(gòu)建一個(gè)基礎(chǔ)的百度地圖頁面[J] .數(shù)字化用戶,2013(28).

        色一乱一伦一图一区二区精品 | 国产肉体XXXX裸体784大胆| 啪啪无码人妻丰满熟妇| 无码久久精品蜜桃| 少妇被搞高潮在线免费观看 | www.久久av.com| 欧洲国产成人精品91铁牛tv| 国产精品日本天堂| 久久老熟女乱色一区二区| 国产天堂av在线播放资源| 国产精品情侣呻吟对白视频| 国产日韩欧美一区二区东京热| 国产98色在线 | 国产| 在线亚洲欧美日韩精品专区| 亚洲AV无码一区二区三区ba| 欧美色图50p| 亚洲天堂av在线一区| 一本久久a久久免费综合| 国产精品无码无卡无需播放器| 欧美又大又色又爽aaaa片| 欧美日本日韩aⅴ在线视频| 亚洲AV一二三四区四色婷婷| 日韩精品免费在线视频| 久久精品国产免费一区二区三区| 亚洲一区二区三区偷拍女| 少妇扒开毛茸茸的b自慰| 色狠狠色狠狠综合天天| 在线观看午夜亚洲一区| 亚洲国产高清美女在线观看 | 免费国产裸体美女视频全黄| 三级国产女主播在线观看| 日韩有码中文字幕在线视频 | 亚洲激情一区二区三区不卡 | 国产高清一级毛片在线看| 精品中文字幕在线不卡| 三年片免费观看大全有| 亚洲av无码一区二区三区系列| 国产精品日本天堂| 亚洲国产精品国自拍av| 少妇aaa级久久久无码精品片| 午夜亚洲国产理论片亚洲2020|