0

有没有办法确定我是否生成了正确的 API 密钥?

从同一个 debug.keystore 我设法毫无问题地获得 Facebook HASH 密钥,但由于某种原因,在生成 MD5 指纹并从 Google 生成 API 密钥后,我的地图仍然是空白的。这意味着我只能在其中看到网格没有地图。。

我的互联网连接已打开,并且我的 LogCat 中没有错误。我可以进行某种调试以检查我的 API 密钥是否正确?

XML:

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="my_generated_key"/>

更新:运行新的测试应用程序时,它与我的 api 密钥配合得很好。当我试图将地图嵌入到我的应用程序中(在选项卡主机内)时,我只得到网格视图。

4

3 回答 3

1

您应该像这样添加您的 XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <com.google.android.maps.MapView
          android:id="@+id/mapView"
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent"
                 android:enabled="true"
                 android:clickable="true"
                 android:apiKey="api key" />

</RelativeLayout>

如果您没有布局,则无法查看地图。

于 2012-09-06T21:24:08.303 回答
0

如果您的项目中有灰色背景,请确保您在清单中具有 INTERNET 权限,就在应用程序标记之前。如果您的设备上出现灰色背景,请确保您已根据您在导出应用程序时创建的 application.keystore 为您的应用程序创建了一个具有新 MD5 的新 Api 密钥。

如果您还没有这样做,请参阅此链接以获得更好的解释:一个适用于所有开发人员的 Google 地图密钥?

如果您的 LogCat 很好,并且您甚至没有红色的“无法获取连接工厂客户端”,那么您的地图键就可以了。:) 但是,即使您在 LogCat 中遇到此错误,这也没有任何意义,因为它可能代表 Eclipse 中的一些错误,并且无论如何,在模拟器和真实设备上,您的地图仍然可以工作。

于 2012-09-06T17:45:56.963 回答
0

确保您设置了 INTERNET 权限并且您的密钥确实是 MD5。较新版本的 keytool 返回 SHA1 密钥而不是 MD5。要获取 MD5,请将 -v 添加到 keytool 选项

于 2012-09-06T17:02:17.763 回答