一.准备工作
1. 到高德地图官方网申请key: 我的应用 | 高德控制台
2. 申请key方法请参考:获取Key-创建工程-开发指南-Android 地图SDK | 高德地图API
3. 出现的问题:
其中有一个获取SHA1的问题:
E/AmapErr: 定位失败,7: KEY错误 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:auth
| 7 |
KEY鉴权失败。 |
请仔细检查key绑定的sha1值与apk签名sha1值是否对应,或通过高频问题查找相关解决办法。 |
出现这类问题主要是SHA1不对,可以使用下面方法获取当前应用的SHA1,然后拿代码得到的SHA1和高德官网申请key填写的SHA比较是否正确.
public class SignSHA1Util {
public static String sHA1(Context context){
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
context.getPackageName(), PackageManager.GET_SIGNATURES);
byte[] cert = info.signatures[0].toByteArray();
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(cert);
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < publicKey.length; i++) {
String appendString = Integer.toHexString(0xFF & publicKey[i])
.toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":");
}
String result = hexString.toString();
return result.substring(0, result.length()-1);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
另外一个问题:

本文介绍如何在Android应用中集成高德地图SDK,包括申请密钥、配置权限、显示地图、实时定位及模拟导航等功能实现过程。
最低0.47元/天 解锁文章
8077





