linux 百度地图离线sdk,Android开放百度地图集成
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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python s d是什意思_pytho
- 下一篇: Linux免设置路由端口映射,2014/