日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 百度地图离线sdk,Android开放百度地图集成

發(fā)布時間:2024/7/23 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 百度地图离线sdk,Android开放百度地图集成 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、創(chuàng)建應(yīng)用 獲取AK (我理解為Application key)

通過百度賬號登錄百度地圖開放平臺,進(jìn)入API控制臺 http://lbsyun.baidu.com/apiconsole/key 創(chuàng)建自己的應(yīng)用,輸入應(yīng)用名稱 ,選擇Android SDK 應(yīng)用類型,選擇需要的服務(wù)(默認(rèn)全選) 輸入簽名文件的SHA1,默認(rèn)的簽名文件debug.keystore 在 C:\Users\你的用戶\.android下,然后打開控制臺cd到此目錄下 鍵入 keytool -v -list -keytore debug.keystore,就可以獲取簽名文件的SHA1了 注意復(fù)制時不要有空格,然后輸入應(yīng)用的包名,也不要輸入錯了,系統(tǒng)自己生成安全碼,提交就創(chuàng)建完成了。

2、下載SDK,集成到自己的項目

選擇需要的服務(wù)類型,然后下載SDK 也可以下載demo,http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download,下載完成后解壓,將lib下面的jar和so文件放入工程的libs下面,compile fileTree(include: ['*.jar'], dir: 'libs') build.grade下有這個語句 就只需要 在android下添加 sourceSet{main {jniLib.Dir('libs')}}就可以了 這個地方百度開發(fā)文檔說的有點模糊,也可以自己創(chuàng)建jniLib文件夾添加so文件,但不要同時都做。

然后在清單文件中添加權(quán)限 service(定位需要)mata(只需要改自己的ak就行),注意也別放錯位置了。百度開發(fā)文檔都有不在粘貼 http://lbsyun.baidu.com/index.php?title=androidsdk/guide/hellobaidumap。

3、展示地圖 定位 添加覆蓋物 地理編碼等

在自己的xml文件中引入mapview,在Java代碼中 初始化地圖的SDK? SDKInitializer.initialize(getApplicationContext());獲取mapview并且在activity的生命周期中實現(xiàn)mapview的周期 ,到目前位置,運行應(yīng)用就可以看到地圖的效果了,北京。

通過LocationClient 、BaiduMap、BDLocationListener實現(xiàn)定位功能 通過mapview獲取baidumap 設(shè)置LocationClient 的參數(shù) 和監(jiān)聽器 ,實現(xiàn)BDLocationListener接口,然后開啟定位 LocationClient.start(),通過接口回調(diào)的location就能獲取位置等信息 。

通過緯度和經(jīng)度改變地圖所顯示的位置和添加自己位置

a、移動地圖的位置

LatLng ll = new LatLng(location.getLatitude(),

location.getLongitude());

MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll);

// 移動到某經(jīng)緯度

mBaiduMap.animateMapStatus(update);

b、添加自己的位置

mBaiduMap.setMyLocationEnabled(true);

// 構(gòu)造定位數(shù)據(jù)

MyLocationData locData = new MyLocationData.Builder()

.accuracy(location.getRadius())

// 此處設(shè)置開發(fā)者獲取到的方向信息,順時針0-360

.direction(100).latitude(location.getLatitude())

.longitude(location.getLongitude()).build();

// 設(shè)置定位數(shù)據(jù)

mBaiduMap.setMyLocationData(locData);

c、通過mBaiduMap.addOverlay(option);添加覆蓋物marker等 參考百度文檔

//添加marker

//構(gòu)建Marker圖標(biāo)

BitmapDescriptor bitmap = BitmapDescriptorFactory

.fromResource(drawable);

//構(gòu)建MarkerOption,用于在地圖上添加Marker

OverlayOptions option = new MarkerOptions()

.position(point)

.icon(bitmap);

//在地圖上添加Marker,并顯示

mBaiduMap.addOverlay(option);

d、添加線等,pts為一個集合List

OverlayOptions polylineOption = new PolylineOptions()

.points(pts).width(5).color(0XFFff0000)

;

mBaiduMap.addOverlay(polylineOption);

e、地理編碼 輸入一個位置返回經(jīng)緯度

mSearch = GeoCoder.newInstance();獲取實例對象 設(shè)置監(jiān)聽器,實現(xiàn)監(jiān)聽器接口OnGetGeoCoderResultListener ,回調(diào)的result就可以獲取信息 ,注意都是異步的,當(dāng)然也有反地理編碼。

百度地圖實現(xiàn)的功能很多,你能想到的 所需要的 都能提供。

總結(jié)

以上是生活随笔為你收集整理的linux 百度地图离线sdk,Android开放百度地图集成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。