百度地圖應用開發(一)

最近對LBS比較感興趣,在研究百度地圖。先了解下百度地圖的大概吧! php

http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97 java

以上是百度地圖在android平臺上的開發指南。 android

基於百度地圖的應用開發和google地圖同樣,須要一個Key,因此咱們要申請一下,相對於google地圖的Key來講,百度地圖的Key的申請是很簡單的。 api

申請Key的網址: http://dev.baidu.com/wiki/static/imap/key/  固然要求是你必須得註冊百度。 app


在百度地圖的應用開發中,在Manifest要添加以下權限: ide

  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>

    具體權限是什麼你們能夠查下文檔,在這裏就很少說了。另外還要加上android版本的支持,以下:

    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>

      固然還要導入支持百度地圖開發的相關的包(指南上面有下載),如下是個人項目文件:


      main.xml ui

      複製代碼
      <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.baidu.mapapi.MapView android:id="@+id/bmapsView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> </LinearLayout>
      複製代碼


      MainActivity.java google

      複製代碼
       1 package com.baidumap;  2   3 import com.baidu.mapapi.BMapManager;  4 import com.baidu.mapapi.GeoPoint;  5 import com.baidu.mapapi.MapActivity;  6 import com.baidu.mapapi.MapController;  7 import com.baidu.mapapi.MapView;  8   9 import android.app.Activity; 10 import android.os.Bundle; 11  12 public class MainActivity extends MapActivity { 13  private BMapManager mBMapMan; 14  @Override 15  public void onCreate(Bundle savedInstanceState) { 16  super.onCreate(savedInstanceState); 17  setContentView(R.layout.main); 18  mBMapMan = new BMapManager(getApplication()); 19  mBMapMan.init("205114502786B06C4C95CEB0F55822F25E46AED2", null); 20  super.initMapActivity(mBMapMan); 21  22  MapView mMapView = (MapView) findViewById(R.id.bmapsView); 23  mMapView.setBuiltInZoomControls(true); //設置啓用內置的縮放控件 24  25  mMapView.setTraffic(true); 26  27  MapController mMapController = mMapView.getController(); // 獲得mMapView的控制權,能夠用它控制和驅動平移和縮放 28  GeoPoint point = new GeoPoint((int) (23.141238 * 1E6), 29  (int) (113.342331 * 1E6)); //用給定的經緯度構造一個GeoPoint,單位是微度 (度 * 1E6) 30  mMapController.setCenter(point); //設置地圖中心點 31  mMapController.setZoom(12); //設置地圖zoom級別 32  } 33  34  @Override 35  protected void onDestroy() { 36  if (mBMapMan != null) { 37  mBMapMan.destroy(); 38  mBMapMan = null; 39  } 40  super.onDestroy(); 41  } 42  @Override 43  protected void onPause() { 44  if (mBMapMan != null) { 45  mBMapMan.stop(); 46  } 47  super.onPause(); 48  } 49  @Override 50  protected void onResume() { 51  if (mBMapMan != null) { 52  mBMapMan.start(); 53  } 54  super.onResume(); 55  } 56  @Override 57  protected boolean isRouteDisplayed() { 58  // TODO Auto-generated method stub 59  return false; 60  } 61 }
      複製代碼


      運行結果以下: spa

相關文章
相關標籤/搜索