Android开发学习——高德地图的实现

1.首先做好下边的准备:

   1.1  http://lbs.amap.com/   注册账号

   1.2  下载 定位sdk 和 地图sdk

        

  下载后是这样的

   1.3  对下载的进行解压 

   

   

将他们加入 中,对每个jar,右键-Add As Library.

此时 build.gradle生成

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.

      首先进入控制台:

     创建自己的应用

    创建应用,相应的密钥 获得 参考如下 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);
    }


}

运行一下:

                            

原文地址:https://www.cnblogs.com/mengxiao/p/6723302.html