Android開發學習——高德地圖的實現

1.首先作好下邊的準備:android

   1.1  http://lbs.amap.com/   註冊帳號api

   1.2  下載 定位sdk 和 地圖sdkapp

        

  下載後是這樣的 ide

 

   1.3  對下載的進行解壓 gradle

   

   

將他們加入 中,對每一個jar,右鍵-Add As Library.ui

此時 build.gradle生成spa

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.0.0'
    testCompile 'junit:junit:4.12'
    compile files('libs/Amap_2DMap_V4.2.0_20170209.jar')
    compile files('libs/AMap_Location_V3.3.0_20170118.jar')
}

1.4 申請API Key.code

      首先進入控制檯:xml

     建立本身的應用blog

    建立應用,相應的密鑰 得到 參考以下 http://lbs.amap.com/faq/top/hot-questions/249

 

 
那麼 開發環境已經配置好了。

2.將地圖展現出來

 2.1  添加用戶key   剛纔申請的key添加到AndroidManifest.xml中

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <meta-data
            android:name="com.amap.api.v2.apikey"     //這個name值 不變
            android:value=" "  //value是上邊申請的key
            ></meta-data>

 2.2 添加所需的權限在AndroidManifest.xml

 

//地圖包、搜索包須要的基礎權限

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_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.ACCESS_COARSE_LOCATION" />

    //定位包、導航包須要的額外權限(注:基礎權限也須要)
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <!--<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

  2.3  在xml中 添加

<com.amap.api.maps2d.MapView
        android:id="@+id/map_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

 2.4 MainActivity,管理地圖的生命週期

public class MainActivity extends AppCompatActivity {

    private MapView mMapView = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //獲取地圖控件引用
        mMapView = (MapView) findViewById(R.id.map_view);
        //在activity執行onCreate時執行mMapView.onCreate(savedInstanceState),實現地圖生命週期管理
        mMapView.onCreate(savedInstanceState);
    }

    @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();
    }
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        //在activity執行onSaveInstanceState時執行mMapView.onSaveInstanceState (outState),實現地圖生命週期管理
        mMapView.onSaveInstanceState(outState);
    }


}

運行一下:

                            

相關文章
相關標籤/搜索