高德地图API
1.建立一个工程(上面提到)
2.注册高德账号->注册开发者->进入控制台->创建新应用->创建添加key
3.在高德官网添加应用(获取应用的指纹码: release版本和debug版本)
debug版本:
这里要注意如果keytool未安装要先安装jdk
查看keytool
itcast@itcast:~/.android$ which keytool
/home/itcast/android/jdk1.8.0_101/bin/keytool
如果不是jdk下的这个keytool就不能运行,想办法连接到这个keytoolitcast@itcast:~/.android$ keytool -list -keystore debug.keystore
输入密钥库口令: (android)debug的密码就是android,a小写密钥库类型: JKS
密钥库提供方: SUN您的密钥库包含 1 个条目
androiddebugkey, 2016-9-17, PrivateKeyEntry,
证书指纹 (SHA1): C7:48:5A:B1:8D:C0:8B:E5:45:22:76:6E:36:F3:4E:69:E3:E7:7F:D9以后创建了别的app,debug的证书指纹也是通过这种方式获取
Release版本:
在Android studio工具栏按照如下:
Build->Generate Signed APK->点击Create New,如果以前创建过,那就选择Choose Existing
itcast@itcast:~$ keytool -list -keystore hitcar.jks
输入密钥库口令:密钥库类型: JKS
密钥库提供方: SUN您的密钥库包含 1 个条目
dache, 2016-9-19, PrivateKeyEntry,
证书指纹 (SHA1):
DF:FF:19:AB:54:DC:BD:C3:44:28:33:33:3C:D1:3F:CB:9C:20:C9:DC
4.把高德的开发库加入到工程( .jar, .so)
5.在Activity的layout文件中,增加一个地图控件
<com.amap.api.maps.MapView
android:id="@+id/mapview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
6.在AndroidManifest.xml中,增加权限,地图key
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAG
E" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOC
ATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_ST
ATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCAT
ION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"
/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE
"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE
"/>
<uses-permission android:name="android.permission.CHANGE_CONFIGURAT
ION"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="xxxxxxxxxxxxxxxxxxxxxxxxx" />
7.在地图上增加MapView和Activity的关联
package cn.itcast.heiche;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.amap.api.maps.AMap;
import com.amap.api.maps.MapView;
public class MainActivity extends AppCompatActivity {
// protected AMap aMap;
protected MapView mapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = (MapView)findViewById(R.id.mapview);
mapView.onCreate(savedInstanceState);
// aMap = mapView.getMap();
// aMap.setMapType(AMap.MAP_TYPE_NIGHT);
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
}
@Override
protected void onResume() {
super.onResume();
mapView.onResume();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
}