BaiduMap SDK的使用流程

第一步:“Manifest——Activity”,在原有的application裏添加祕鑰

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <!-- S -->
        <!-- 這個祕鑰就放在application裏面 -->
        <meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="TjTGFrjxvO5bF0UGd7U2YaoD" />
        <!-- E -->

        <activity android:name="com.map.baidu.Activity_Main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

第二步:“Manifest”,在application的上面添加需要的權限

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <!-- S -->
    <!-- 這個纔是正確的BaiduMap權限,不要放在application下面 -->
    <!-- 第二步:添加所需要的權限 -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!-- E -->

第三步:”layout.xml”,要需要的佈局layout中添加地圖控件

 <!-- S -->
    <!-- 第三步:這是個佈局控件 -->
    <!-- 所以應該在相應的佈局裏面佈置 -->
    <com.baidu.mapapi.map.MapView
        android:id="@+id/bmapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" >
    </com.baidu.mapapi.map.MapView>
    <!-- E -->

第四步:“Activity”,在應用程序創建時初始化 SDK引用的Context 全局變量
(注:這裏有個若位置放錯就會報錯的地方:就是那個函數必須放在“setContentView方法之前”,不然就會有error inflating class com.baidu.mapapi.map.MapView的錯誤)

public class Activity_Main extends Activity
{
    //!@S
    MapView mMapView = null;// 記得先無參數聲明啊;
    //!@E

    @Override
    protected void onCreate( Bundle savedInstanceState )
    {
        // TODO Auto-generated method stub
        super.onCreate( savedInstanceState );

        //!@S
        // 在使用SDK各組件之前初始化context信息,傳入ApplicationContext
        // !注意該方法要再setContentView方法之前實現
        SDKInitializer.initialize( getApplicationContext() );
        //!這個layout可以不是main,在這裏使用也不會影響下面layout_main的調用
        setContentView( R.layout.layout_main );     
        // 獲取地圖控件引用
        mMapView = (MapView) findViewById( R.id.bmapView );
        //!@E

        setContentView( R.layout.layout_main );

    }

第五步:“Activity”,創建地圖Activity,管理地圖生命週期

    //!@S
    @Override
    protected void onDestroy()
    {
        super.onDestroy();
        // 在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命週期管理
        mMapView.onDestroy();
    }

    @Override
    protected void onResume()
    {
        super.onResume();
        // 在activity執行onResume時執行mMapView. onResume (),實現地圖生命週期管理
        mMapView.onResume();
    }

    @Override
    protected void onPause()
    {
        super.onPause();
        // 在activity執行onPause時執行mMapView. onPause (),實現地圖生命週期管理
        mMapView.onPause();
    }
    //!@E
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章