Android 百度地圖開發(一)如何呼叫百度地圖介面和在專案中顯示百度地圖以及實現定位
阿新 • • 發佈:2019-01-02
二、下載百度地圖API庫
這樣我們就完成了在自己的專案呼叫百度地圖介面,顯示地圖以及實現定位的功能。後期會持續介紹百度地圖 的使用,歡迎大家關注
然後新增到專案中即可。
三、在專案清單AndroidMainifest.xml配置百度地圖API key和新增相關許可權 四、在專案呼叫百度地圖專案功能,這篇文章就首先講講顯示地圖和定位的功能- 首先在佈局中新增百度地圖控制元件
package com.lif8.goutongbao; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapStatusUpdate; import com.baidu.mapapi.map.MapStatusUpdateFactory; import com.baidu.mapapi.map.MapView; import com.baidu.mapapi.map.MyLocationData; import com.baidu.mapapi.model.LatLng; import android.app.Activity; import android.os.Bundle; public class TransitRouteActivity extends Activity{ private final static String TAG = "TransitRouteActivity"; // 全域性變數 private double myLongitude; // 經度 private double myLatitude; // 緯度 boolean isFirstLoc = true;// 是否首次定位 public MyLocationListenner myListener = new MyLocationListenner(); MapView mMapView = null; // 地圖View BaiduMap mBaidumap = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.transit_route_main); // 初始化地圖 mMapView = (MapView) findViewById(R.id.map); mBaidumap = mMapView.getMap(); // 開啟定點陣圖層 mBaidumap.setMyLocationEnabled(true); // TODO 定位功能 // 定位初始化 LocationClient mLocClient = new LocationClient(this); mLocClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setOpenGps(true);// 開啟gps option.setCoorType("bd09ll"); // 設定座標型別 option.setScanSpan(1000); // option.setIsNeedAddress(true); mLocClient.setLocOption(option); mLocClient.start(); } // TODO 定位相關 /** * 定位SDK監聽函式 */ public class MyLocationListenner implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { // 取經緯度 myLatitude = location.getLatitude(); myLongitude = location.getLongitude(); // map view 銷燬後不在處理新接收的位置 if (location == null || mMapView == null) return; MyLocationData locData = new MyLocationData.Builder() .accuracy(location.getRadius()) // 此處設定開發者獲取到的方向資訊,順時針0-360 .direction(100).latitude(location.getLatitude()) .longitude(location.getLongitude()).build(); if (locData != null && mBaidumap != null) mBaidumap.setMyLocationData(locData); if (isFirstLoc) { isFirstLoc = false; LatLng ll = new LatLng(location.getLatitude(), location.getLongitude()); MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll); mBaidumap.animateMapStatus(u); } } public void onReceivePoi(BDLocation poiLocation) { } } protected void onPause() { mMapView.onPause(); super.onPause(); } @Override protected void onResume() { mMapView.onResume(); super.onResume(); } @Override protected void onDestroy() { mMapView.onDestroy(); if (mBaidumap != null) mBaidumap = null; super.onDestroy(); } }
這樣我們就完成了在自己的專案呼叫百度地圖介面,顯示地圖以及實現定位的功能。後期會持續介紹百度地圖 的使用,歡迎大家關注