环境设置
a. 官网下载API :http://lbs.amap.com/api/android-sdk/down/
b. 本地生成SHA1
在命令行使用<JDK_PATH>/bin/keytool keytool -v -list -keystore <KEYSTORE_PATH>
默认的keystore是在C:\Users\<Your Domain>\.android\debug.keystore
默认密码是android
之后将会在命令行中显示SHA1
c. 注册成为高德地图开发者,上传SHA1获取开发者Key
d. 将API导入项目 (android stdio可以在File -> Project structure中通过UI导入,将会自动写入到Grable相关文件中)
e. 配置AndroidManifest.xml
添加Key
<meta-data android:name="com.amap.api.v2.apikey" android:value="your key"></meta-data>
添加权限
<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" />
在layout中添加MapView
<com.amap.api.maps2d.MapView
android:id="@+id/map"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</com.amap.api.maps2d.MapView>
为MapView添加生命周期管理
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView = (MapView) findViewById(R.id.map);
//在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);
}