android 调用自带地图,Android中调用百度地图
Android?調用百度地圖
一、調用百度地圖
1、下載百度地圖SDK
SDK可以拆分下載,需要使用那一部分功能就下載相應包含的SDK,如下圖
核心的的jar?和so包,放在工程中的libs目錄下
2、申請key
注冊百度賬號申請key,格式如下:sha1值+";"+包名。
包名指的是AndroidManifest.xml?中定義的名稱?,并非工程包名
3、將百度地圖加入工程
(1)在application中添加開發密鑰
android:name="com.baidu.lbsapi.API_KEY"
android:value="申請的key"?/>
(2)添加所需權限
(3)添加百度地圖服務
在mainfest的application標簽中配置地圖服務
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"?>
(4)在布局xml文件中添加地圖控件
(5)在應用程序創建時初始化?SDK引用的Context?全局變量
publicclassMainActivityextendsActivity{MapView?mMapView=null;@OverrideprotectedvoidonCreate(Bundle?savedInstanceState){super.onCreate(savedInstanceState);//在使用SDK各組件之前初始化context信息,傳入ApplicationContext//注意該方法要再setContentView方法之前實現SDKInitializer.initialize(getApplicationContext());setContentView(R.layout.activity_main);//獲取地圖控件引用mMapView=(MapView)findViewById(R.id.bmapView);}@OverrideprotectedvoidonDestroy(){super.onDestroy();//在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命周期管理mMapView.onDestroy();}@OverrideprotectedvoidonResume(){super.onResume();//在activity執行onResume時執行mMapView.?onResume?(),實現地圖生命周期管理mMapView.onResume();}@OverrideprotectedvoidonPause(){super.onPause();//在activity執行onPause時執行mMapView.?onPause?(),實現地圖生命周期管理mMapView.onPause();}}
運行后就可以拿到百度地圖圖層
4、定位當前位置
1、開啟定位圖層
//?開啟定位圖層
mBaiduMap.setMyLocationEnabled(true);
2、開啟定位功能
mLocClient?=?new?LocationClient(context);
mLocClient.registerLocationListener(myListener);
LocationClientOption?option?=?new?LocationClientOption();
option.setOpenGps(true);//?打開gps
option.setCoorType("bd09ll");?//?設置坐標類型
option.setScanSpan(1000);
mLocClient.setLocOption(option);
mLocClient.start();
3、重寫監聽器
繼承BDLocationListener監聽器,重寫onReceiveLocation方法,這樣就可以拿到包含在BDLocation中的定位信息,具體參看BDLocation類
4、定位當前位置
/**
*?設置地圖操作點中心
*/
public?void?setCenterPosition(Point?p){
LatLng?ll?=?new?LatLng(Double.parseDouble(p.getX()),
Double.parseDouble(p.getY()));
MapStatusUpdate?u?=?MapStatusUpdateFactory.newMapStatus(new????????????????????????MapStatus.Builder().target(ll).build());
//mBaiduMap.setMapStatus(u);
//已動畫的方式切換
mBaiduMap.animateMapStatus(u);
}
利用工廠類,更新地圖狀態,顯示當前位置。
5、利用百度地圖標繪
在百度地圖上標繪基本圖形,可查看相關API文檔。
在本項目中,標繪了圓、線、點。(OverlayOptions?接口類,一般利用其子類繪制)
1、標繪線
OverlayOptions?ooPolyline?=?new?PolylineOptions().width(width)
.color(color).points(points);
mBaiduMap.addOverlay(ooPolyline);
2、標繪圓
LatLng?llCircle?=?new?LatLng(Double.parseDouble(centerPoint.getX()),
Double.parseDouble(centerPoint.getY()));
OverlayOptions?ooCircle?=?new?CircleOptions().fillColor(fillColor)
.center(llCircle).stroke(new?Stroke(5,?color))
.radius(rad);
mBaiduMap.addOverlay(ooCircle);
3、標繪點(并非基本方法)
LatLng?ll?=?new?LatLng(Double.parseDouble(centerPoint.getX()),
Double.parseDouble(centerPoint.getY()));
OverlayOptions?ooA?=?new?MarkerOptions().position(ll).icon(bd)
.zIndex(9);
return(Marker)mBaiduMap.addOverlay(ooA);
總結
以上是生活随笔為你收集整理的android 调用自带地图,Android中调用百度地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React开发(122):动态表头核心配
- 下一篇: android sina oauth2.