国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2017-02-27 14:29柴群梁劍波楊暉吳京澄
電腦知識(shí)與技術(shù) 2016年31期
關(guān)鍵詞:位置服務(wù)平臺(tái)

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

摘要:為了提高人們對(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ù)簡(jiǎn)介

根據(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)簡(jiǎn)介

Android(安卓)是目前市場(chǎng)上應(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)行庫層;第四層是作為安卓?jī)?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)場(chǎng)所進(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).

猜你喜歡
位置服務(wù)平臺(tái)
互聯(lián)互通 暢享未來 第12屆衛(wèi)星導(dǎo)航與位置服務(wù)運(yùn)營商大會(huì)在深圳舉行
第六屆中國衛(wèi)星導(dǎo)航與位置服務(wù)年會(huì)暨首屆衛(wèi)星應(yīng)用國際博覽會(huì)
以學(xué)霸講堂為依托的學(xué)生黨員學(xué)風(fēng)引領(lǐng)平臺(tái)建設(shè)研究
中位協(xié)二十周年慶典暨第四屆中國衛(wèi)星導(dǎo)航與位置服務(wù)年會(huì)將在北京舉行
位置服務(wù)中服務(wù)點(diǎn)空間可達(dá)性評(píng)估模型分析
佳木斯市| 平武县| 中阳县| 湘潭县| 康定县| 台前县| 页游| 陕西省| 靖西县| 都安| 满城县| 泾阳县| 平潭县| 高阳县| 宁国市| 施秉县| 元江| 道真| 玛纳斯县| 阿克陶县| 德令哈市| 紫阳县| 轮台县| 化德县| 娱乐| 博罗县| 安溪县| 马边| 鲁甸县| 池州市| 红桥区| 新乡县| 达拉特旗| 琼结县| 探索| 东乡县| 新平| 新和县| 和田市| 民乐县| 南丹县|