• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Android的移動平臺位置服務應用研究

      2017-02-27 14:29柴群梁劍波楊暉吳京澄
      電腦知識與技術 2016年31期
      關鍵詞:位置服務平臺

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

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

      關鍵詞:Android 平臺;手機地圖;百度地圖API;位置服務

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)31-0046-02

      1 位置服務簡介

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

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

      本文所研究的是基于電子地圖的一種定位、導航、查詢與位置相關的服務研究。

      2 Android系統(tǒng)簡介

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

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

      第一種是作為眾多應用程序組件中的基礎組件——Activity,用戶運行程序看到的界面就是一個Activity,這個組件用于與用戶進行交互。

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

      第三種與第一種組件擁有相同等級,但它不在界面上顯示,只能在后臺運行的組件——Service,雖然它不在界面上顯示,但可以在后臺和別的組件進行互動。

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

      3 移動地圖實現(xiàn)

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

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

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

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

      運行程序,即可在手機上顯示出該應用,如圖1。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      4 總結

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

      參考文獻:

      [1] 張云.Windows下Android應用程序開發(fā)環(huán)境搭建詳解[J] .計算機時代,2013(1):32-34.

      [2] 杜艷綏.基于Android平臺架構應用程序開發(fā)研究[J].電腦編程技巧與維護,2013(6):12-13.

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

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

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

      猜你喜歡
      位置服務平臺
      互聯(lián)互通 暢享未來 第12屆衛(wèi)星導航與位置服務運營商大會在深圳舉行
      第六屆中國衛(wèi)星導航與位置服務年會暨首屆衛(wèi)星應用國際博覽會
      以學霸講堂為依托的學生黨員學風引領平臺建設研究
      中位協(xié)二十周年慶典暨第四屆中國衛(wèi)星導航與位置服務年會將在北京舉行
      位置服務中服務點空間可達性評估模型分析
      同德县| 仁怀市| 崇左市| 察雅县| 临武县| 宁乡县| 岳西县| 来安县| 肥乡县| 连江县| 岳西县| 郸城县| 讷河市| 加查县| 呼玛县| 油尖旺区| 渝中区| 七台河市| 乌兰察布市| 罗甸县| 巴彦县| 昭苏县| 金寨县| 开原市| 海阳市| 镇沅| 鹰潭市| 金阳县| 新疆| 旬邑县| 芮城县| 依安县| 巴塘县| 乌鲁木齐县| 额尔古纳市| 慈利县| 旬阳县| 竹北市| 双江| 沛县| 屏南县|