我使用sha 1证书为调试密钥库生成了一个Android密钥。 我在我的xml中使用了api键 我无法得到地图的叠加层。 而不是它我只得到灰色瓷砖。
错误:
在java.lang.Thread.run(Thread.java:1019)
IOException处理:26
java.io.IOException:服务器返回:3
android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
答案 0 :(得分:0)
你确定你生成了SHA1密钥吗? 请尝试以下代码:
private void getShaKey() {
try {
PackageInfo info = getPackageManager().getPackageInfo("YOUR.Package.Name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.v(TAG, "KeyHash:" + Base64.encodeToString(md.digest(),
Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
如果没有帮助,请附上您的java代码,layout xml,logcat输出和清单文件。
答案 1 :(得分:0)
如果您确定SHA1密钥是正确的,请确保您启用“Google Maps Android API v2”服务而不是“Google Maps API v2”。并将SHA1密钥与您的应用程序名称一起使用,以应用在您的应用程序中使用的新Android密钥
答案 2 :(得分:0)
拉吉。我有一个类似的问题让他们在我的应用程序中工作。不幸的是,人们非常重视API密钥生成,这是相当简单的......即使你的密钥是正确的,这种相同的症状仍然存在......但是,你没有所有其他组件到位。本教程最终为我工作....我认为我的问题是没有正确引用我工作区中更新的Google Play库。我通过使用Eclipse ADT SDK Manager删除并重新安装Google Play库项目来解决这个问题。
我正在考虑编写自己的教程来包含Eclipse IDE的屏幕截图,这对我来说也是一种全新的体验。也许让你的应用程序运行将为该过程提供一些结构,但....史密斯写了一个非常好的教程,对我有用,我开始时并不那么聪明。 ; - )