首先在工程裏新建libs文件夾,並API開發包裏的baidumapapi.jar拷貝到libs根目錄下,將libBMapApiEngine.so拷貝到libs\armeabi目錄下。官網demo裏已有這兩個文件,若是要集成到本身的工程裏,就須要本身添加。而後在工程屬性->Java Build Path->Libraries中選擇「Add External JARs」,選定baidumapapi.jar,肯定後返回,這樣您就能夠在您的程序中使用API了。 java
在Manifest中添加使用權限 android
1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
2. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
3. <uses-permission android:name="android.permission.INTERNET"></uses-permission>
4. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
5. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
6. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
7. <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
在Manifest中添加Android版本支持 api
1. <supports-screens android:largeScreens="true"
2. android:normalScreens="true" android:smallScreens="true"
3. android:resizeable="true" android:anyDensity="true"/>
4. <uses-sdk android:minSdkVersion="3"></uses-sdk>
讓建立的地圖Activity繼承com.baidu.mapapi.MapActivity, 並import相關類 ide
1. import java.util.ArrayList;
2. import java.util.List;
3.
4. import android.content.Context;
5. import android.graphics.Canvas;
6. import android.graphics.Paint;
7. import android.graphics.Point;
8. import android.graphics.drawable.Drawable;
9. import android.location.Location;
10. import android.os.Bundle;
11. import android.util.Log;
12. import android.view.View;
13. import android.widget.Toast;
14.
15. import com.baidu.mapapi.BMapManager;
16. import com.baidu.mapapi.GeoPoint;
17. import com.baidu.mapapi.ItemizedOverlay;
18. import com.baidu.mapapi.LocationListener;
19. import com.baidu.mapapi.MKAddrInfo;
20. import com.baidu.mapapi.MKDrivingRouteResult;
21. import com.baidu.mapapi.MKGeneralListener;
22. import com.baidu.mapapi.MKLocationManager;
23. import com.baidu.mapapi.MKPlanNode;
24. import com.baidu.mapapi.MKPoiResult;
25. import com.baidu.mapapi.MKSearch;
26. import com.baidu.mapapi.MKSearchListener;
27. import com.baidu.mapapi.MKTransitRouteResult;
28. import com.baidu.mapapi.MKWalkingRouteResult;
29. import com.baidu.mapapi.MKSuggestionResult;
30. import com.baidu.mapapi.MapActivity;
31. import com.baidu.mapapi.MapController;
32. import com.baidu.mapapi.MapView;
33. import com.baidu.mapapi.MyLocationOverlay;
34. import com.baidu.mapapi.Overlay;
35. import com.baidu.mapapi.OverlayItem;
36. import com.baidu.mapapi.PoiOverlay;
37. import com.baidu.mapapi.RouteOverlay;
38. import com.baidu.mapapi.TransitOverlay;
39.
40. public class MyMapActivity extends MapActivity {
41. @Override
42. public void onCreate(Bundle savedInstanceState) {
43. super.onCreate(savedInstanceState);
44. setContentView(R.layout.main);
45. }
46.
47. @Override
48. protected boolean isRouteDisplayed() {
49. return false;
50. }
51. }
在佈局xml中添加地圖控件 佈局
1. <?xml version="1.0" encoding="utf-8"?>
2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:orientation="vertical" android:layout_width="fill_parent"
4. android:layout_height="fill_parent">
5. <TextView android:layout_width="fill_parent"
6. android:layout_height="wrap_content" android:text="@string/hello" />
7. <com.baidu.mapapi.MapView android:id="@+id/bmapsView"
8. android:layout_width="fill_parent" android:layout_height="fill_parent"
9. android:clickable="true" />
10. </LinearLayout>
初始化地圖Activity/使用key ui
在地圖Activity中定義變量: BMapManager mBMapMan = null; 在onCreate方法中增長如下代碼,並將您申請的Key替換「個人Key」: spa
1. mBMapMan = new BMapManager(getApplication());
2. mBMapMan.init("個人Key", null);
3. super.initMapActivity(mBMapMan);
4.
5. MapView mMapView = (MapView) findViewById(R.id.bmapsView);
6. mMapView.setBuiltInZoomControls(true); //設置啓用內置的縮放控件
7.
8. MapController mMapController = mMapView.getController(); // 獲得mMapView的控制權,能夠用它控制和驅動平移和縮放
9. GeoPoint point = new GeoPoint((int) (39.915 * 1E6),
10. (int) (116.404 * 1E6)); //用給定的經緯度構造一個GeoPoint,單位是微度 (度 * 1E6)
11. mMapController.setCenter(point); //設置地圖中心點
12. mMapController.setZoom(12); //設置地圖zoom級別
Override如下方法,管理API: code
1. @Override
2. protected void onDestroy() {
3. if (mBMapMan != null) {
4. mBMapMan.destroy();
5. mBMapMan = null;
6. }
7. super.onDestroy();
8. }
9. @Override
10. protected void onPause() {
11. if (mBMapMan != null) {
12. mBMapMan.stop();
13. }
14. super.onPause();
15. }
16. @Override
17. protected void onResume() {
18. if (mBMapMan != null) {
19. mBMapMan.start();
20. }
21. super.onResume();
22. }
完成上述步驟後,運行程序,結果以下: orm