999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android系統中基于Baidu Map的應用技術研究

2014-10-27 16:33:57徐麗仙
無線互聯科技 2014年9期
關鍵詞:百度用戶功能

徐麗仙

摘 要:智能手機和無線通信技術高速發展,為大量應用提供了技術支撐,以地圖服務為基礎的應用給我們提供了很多便利。其中Baidu Map由于有著豐富的功能,提供多樣的應用接口,更加方便開發人員調用,越來越受到他們的歡迎。Baidu Map現在使用的是SDK3.0版本,在以前版本上做了修改。本文研究了在Android平臺上如何實現新的地圖加載過程和地址編碼的轉換,為使用Baidu Map SDK3.0進行相關Android應用開發的技術人員提供一定的參考。

關鍵詞:Android;BaiduMap;SDK3.0;地圖加載;地址編碼

隨著智能手機處理器、存儲器等相關硬件技術的快速發展,以及軟件技術的突飛猛進,智能手機改變了我們的生活。它除了通信、聊天和游戲功能外在手機購物、電子支付、其他信息交互等方面發揮了更多的作用,為我們的生活提供了快捷方便的信息通道。當前手機大部分采用iOS、Windows Phone和Android操作系統,而由于Android系統擁有市場份額大、平臺開放性、豐富的硬件選擇、軟件開發不受限制等很多優點,國內手機廠商基本都采用Android系統,因而基于Android平臺的應用程序如雨后春筍,不但數量多,應用也越加廣泛。同時推動了Android Market的發展,這正提供了良性發展循環。

在眾多應用中,基于用戶位置的服務給人們提供更多方便[1],也是市場迅猛的增長點。除了汽車導航這種大型的應用外,公交服務[2]、導游地理信息服務、虛擬校園、停車誘導服務等針對具體、適用的特定應用定制也越來越多,而這些應用都要基于地圖信息來完成開發。目前主要采用google地圖、天地圖和百度地圖,但是google退出中國大陸,需要通過香港、臺灣等地方取得服務信息,造成信息慢或者不暢通,加之實現過程也很麻煩,給開發者和用戶帶來了很多不便。百度地圖采用Mapbar提供數據,Mapbar在包含基礎數據的同時,還有幾千家聯盟成員在整理和豐富各行業的最新信息。因此百度地圖提供了大量的地理信息,更新很快,節省流量,公交查詢較準確等特點在大陸應用較為廣泛。

本論文以Android平臺為基礎,研究在一些需要提供用戶位置服務的應用程序中如何利用百度地圖提供的相關信息與服務,實現基于地圖應用的相關技術,并為相關開發人員提供成熟的技術支持。

1 搭建Baidu Map開發環境

本文采用Eclipse作為IDE,并在Android平臺環境下實現。必須搭建相關開發平臺[3]才能實現Baidu Map應用開發,首先需要注冊百度用戶并申請百度地圖的開發密鑰(key),下載API開發包。

1.1 申請開發密鑰(key)

為保證能夠使用百度地圖SDK提供相關開發服務,用戶必須要申請與百度賬號相關聯的開發密鑰。同時為了保證安全性,百度對v2.13以后版本的key驗證體系進行了更新。在新的機制中,一個key和一個應用程序是唯一對應的,而且只有在與此包名匹配的應用程序才有效。但在同一個程序中多次使用地圖功能可以使用同一個密鑰。在地址http://developer.baidu.com/map中選擇Android開發,申請過程如圖1所示。

在配置應用時應用類型為for mobile,安全碼由數字簽名和包名合成之間用分號隔開,其中數字簽名可在開發工具Eclipse的winows → preferance → android→ build下SHA1 fingerprint一串由冒號分割的十六進制數據。包名是發開時在配置文件中的包,如項目中AndroidMainifest.xml文件里代碼package="com.android.mybaidu"指定的包名。

1.2 Android SDK[4]

百度地圖Android SDK是基于安卓系統設備的一套API,目前版本是v3.0.0,并提供全新的界面用于key申請。此API提供了很多實用功能。

⑴地圖功能,包括地圖的展示和操作。如2D、3D地圖、衛星圖及實時交通圖等,并可實現縮放、旋轉和改變視角等控制操作。

⑵POI檢索,包括周邊指定半徑檢索、給定區域檢索和在一個城市內檢索。

⑶地理編碼,將地球的經緯度轉換為詳細中文地址或地址描述,以及中文地址或描述轉換為經緯度信息。

⑷線路規劃,如公交信息查詢及換乘規劃,駕車步行線路檢索規劃等。

⑸定位功能,可通過GPS、WiFi、Base Station、IP混合定位模式等來實現定位功能。

除了上面的功能外還提供支持多種地圖覆蓋物,離線地圖導入,地理導航,實現海量數據數據存儲和高效檢索用戶數據的LBS云服務。還有短串分享、Place詳情頁展示等特色服務。

下載對應SDK后,將文件baidumapapi_v3_0_0.jar和libBaiduMapSDK_3_0_0.so拷貝到項目的對應文件夾下,如圖2所示。最后在Project→Properties→Java Build Path→Libraries選項下,通過Add External JARs按鈕添加baidumapapi_v3_0_0.jar文件完成配置如圖3所示。

2 地圖加載

新建項目后,在程序中加載顯示地圖是整個Map應用的基礎,是完成其他地圖操作的前提。這需要對配置文、布局文件和java文件進行修改。

2.1 AndroidManifest.xml配置文件

為了獲得地圖服務,在該文件application下添加從baidu開放平臺上申請到的密鑰,并根據實際需要添加相應的用戶權限許可,添加屏幕支持。

添加key代碼如下

android:value="這里為用戶申請的key"/>

添加權限[5]方法如下

android:name="android.permission.權限代碼">

其中主要相關權限配置代碼與說明如表1所示。

2.2 布局文件

布局文件是顯示地圖信息容器,用戶展示特定要求的地圖并根據需要通過覆蓋層進行位置圖標、路線標記。MapView控件用于顯示地圖信息,通過加載com.baidu.mapapi.map包調用MapView類,屬性設置代碼如下所示。

android:layout_height="fill_parent"

android:layout_width="fill_parent"

android:id="@+id/bmapView"

android:clickable="true"/>

2.3 應用程序實現

為了能夠使用SDK所提供的地圖服務,首先要調用SDKInitializer類的initialize方法來初始化由getApplicationContext()得到的context信息,而且該方法要求在setContentView()方法前調用。方法如下代碼所示。

SDKInitializer.initialize(getApplicationContext());

調用MapView類[6]對象mapView的方法實現對地圖生命周期進行管理它是和Activity同步的。相關說明如表2所示,加載完成后在模擬器運行如圖4所示。

此外還有getMap()方法取得地圖控制器給BaiduMap類的對象,只有該對象才能實現縮放、定位等功能。代碼為mBaiduMap = mMapView.getMap();

Baidu Map提供了衛星地圖和普通地圖兩種類型地圖,通過調用前面mBaiduMap對象的setMapType()方法實現,參數BaiduMap.MAP_TYPE_NORMAL和BaiduMap.MAP_TYPE_SATELLITE分別為普通地圖和衛星地圖,顯示效果如圖 和 所示。在百度地圖服務中還提供了主要城市交通路況實時查詢功功能,隨著發展將會有更多城市加入到此項服務。

3 geocode技術

即地理編碼技術,地圖上的地理位置是通過經度和緯度的交叉點來確定的,確定位置信息是實現其它功能服務的基礎,智能終端可通過GPS、WiFi、3G或4G所提供的數據確定自己的位置。但在實際操作中用戶所關心的是省市區道路等信息,這就有時需要開發人根據具體使用目的進行處理。Baidu SDK V3.0專門提供了com.baidu.mapapi.search.geocode程序包提供相關服務,其中包含多個功能類。

3.1 GeoCodeOption類和ReverseGeoCodeOption類

GeoCodeOption類用來設置保存地址位置信息,提供兩個方法,city()設置城市名稱,address()設置道路位置等具體信息。

ReverseGeoCodeOption類用于設置保存經緯度位置坐標信息,由方法location(LatLng location)實現。

3.2 GeoCodeResult類和ReverseGeoCodeResult類

GeoCodeResult類,其中getAddress()和getLocation()方法分別取得地址信息和位置信息。

ReverseGeoCodeResult類,共有五種方法getAddress()、getAddressDetail()、getBusinessCircle()、getLocation()和getPoiList(),分別取得簡要地址、層次化地址、所在商圈名稱、位置坐標和所在位置PIO信息。

3.3 GeoCoder類

GeoCoder類提供一些接口,用于實現查詢地理編碼操作。其方法主要有新建查詢newInstance()、執行地址信息編碼到經緯度請求geocode()、執行經緯度到地址信息請求reverseGeoCode()、設置查詢結果監聽者setOnGetGeoCodeResultListener()和釋放查詢的地理編碼對象destroy()。

3.4 ReverseGeoCodeResult.AddressComponent類

該類按層次化的方式返回城市、區縣、街道名稱及門牌號信息。

4 小結

目前百度提供給開發者的是Andoid SDK3.0版本,與早期版本有不少區別。他對很多方法進行了簡化,有的也修改了,也增加了一些新的方法。特別在地圖初始化方面作了較大調整,取消了bMapManager對象的管理功能,改動的主要目的一方面是方便開發者的使用,另一方面也是為了增加前面列舉的適用功能。由于各種原因,本論文僅在題圖加載和地址編碼方面進行了研究,以后還將在導航、LBS云檢索、計算工具以及全景地圖功能等方面繼續學習研究,為開發提供一些技術總結。

[參考文獻]

[1]張倩怡.移動地圖“逐利”生活服務[N].北京日報,2014-01-02(第008版).

[2]劉龍,胡靜,宋鐵成.基于Android系統的公共交通客戶端的設計[J].電氣電子教學學報:2013(6):37-41

[3]焦健.Eclipse下Android環境的搭建[J].信息與電腦:2012(6):33-34.

[4]Android SDK v3.0.0概述[EB/OL].[2014-07-20]http://developer.baidu.com/map/sdk-android.htm

[5]吳大勇,鄭紫微.基于Android平臺的訪問權限機制優化方案[J].計算機工程:2013(5):144-147.

[6]Android SDK v3.0.0參考類[EB/OL].[2014-07-20]http://developer.baidu.com/map/android_refer/index.html.

猜你喜歡
百度用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Robust adaptive UKF based on SVR for inertial based integrated navigation
百度年度熱搜榜
青年與社會(2018年2期)2018-01-25 15:37:06
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
百度遭投行下調評級
IT時代周刊(2015年8期)2015-11-11 05:50:22
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
百度“放衛星”,有沒有可能?
太空探索(2014年4期)2014-07-19 10:08:58
主站蜘蛛池模板: 国产成人亚洲欧美激情| 久久一本日韩精品中文字幕屁孩| 免费观看国产小粉嫩喷水| 露脸一二三区国语对白| 成人在线综合| 亚洲区一区| 国产www网站| 新SSS无码手机在线观看| 四虎永久在线精品国产免费| 亚洲无码久久久久| 国产大全韩国亚洲一区二区三区| 日本午夜影院| 色老头综合网| 中文字幕 91| 精品国产www| 亚洲天堂区| 久久午夜夜伦鲁鲁片无码免费| 99热这里只有精品久久免费| 久久窝窝国产精品午夜看片| 久久精品日日躁夜夜躁欧美| 国产精品太粉嫩高中在线观看| 色婷婷在线影院| 久久国产高潮流白浆免费观看| 日韩a级毛片| 97成人在线视频| 国产精品刺激对白在线| 中文字幕在线日本| 亚洲欧美自拍一区| 国产精品亚洲一区二区三区在线观看| 91黄视频在线观看| 色噜噜在线观看| 亚洲欧美另类色图| 久久久久无码精品| 国产免费自拍视频| 先锋资源久久| 国产真实乱子伦视频播放| 亚洲成人黄色在线观看| 国产欧美视频综合二区| 国产黄色免费看| 久热99这里只有精品视频6| 国产精品浪潮Av| 伊在人亚洲香蕉精品播放| 免费观看精品视频999| 国产二级毛片| 久久综合伊人 六十路| 韩日午夜在线资源一区二区| 国产在线视频二区| 色精品视频| 天天色天天综合网| 国产v精品成人免费视频71pao| 天天综合亚洲| 四虎在线观看视频高清无码| 久久黄色毛片| 亚洲精品另类| 三级视频中文字幕| 精品夜恋影院亚洲欧洲| 国产人碰人摸人爱免费视频| 成人毛片在线播放| 四虎永久在线视频| 91网红精品在线观看| 国产91九色在线播放| 亚洲AV无码乱码在线观看裸奔 | 女同久久精品国产99国| 国产菊爆视频在线观看| 久青草国产高清在线视频| 伊人精品视频免费在线| 婷婷丁香色| 国产精品永久不卡免费视频| 亚洲中文字幕国产av| 国产精品久久久久婷婷五月| 嫩草国产在线| 伊人久久久久久久| 欧美α片免费观看| 亚洲精品欧美日本中文字幕| 欧美国产在线看| 无码又爽又刺激的高潮视频| 婷婷色在线视频| 久久精品中文字幕免费| 久久九九热视频| 一本大道视频精品人妻 | 久热这里只有精品6| a级毛片免费看|