Google地图在使用Eclipse运行时仅显示灰色磁贴

时间:2013-04-24 13:25:37

标签: android google-maps google-api

我使用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)

3 个答案:

答案 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的屏幕截图,这对我来说也是一种全新的体验。也许让你的应用程序运行将为该过程提供一些结构,但....史密斯写了一个非常好的教程,对我有用,我开始时并不那么聪明。 ; - )

Recent tutorial by Sue Smith at mobile tuts+