7

我正在尝试使用 Google Maps Android API v2,并且我已经从我的发布证书创建了 SHA1 密钥。

我已经阅读了这里READ_GSERVICES的评论,并做了一切正确的事情,包括在谷歌的说明中没有说明权限。

但是我仍然有错误

E/Google Maps Android API(12334):加载地图失败。无法联系 Google 服务器。

如果我还有什么遗漏的话,无论如何可以启发我吗?

我也包括了这个:

<permission
      android:name="com.example.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="my_api_key"/>

在我的应用程序标签中。

更新:刚刚设法消除了那个错误,意识到我输入了我的 READ_GSERVICES 错误。

但是,现在我遇到了这个问题:

01-24 16:58:08.628:E/Google Maps Android API(28025):授权失败。

是什么导致了这个问题?我的 SHA1 是从我的发布证书中获得的,这是错的吗?

4

7 回答 7

11

你解决问题了吗?可能是这个问题->

启用了错误的服务。确保启用“Google Maps Android API v2”而不是“Google Maps API v2”并重新生成 API 密钥。(https://stackoverflow.com/a/13805807/1300982

如果这是问题所在,请不要忘记重新生成 API 密钥。

于 2013-03-25T14:34:38.963 回答
1

还有一点需要注意:我用两个不同的 API 项目注册了相同的 SHA1 哈希。(是的,我知道这很愚蠢,但我正在尝试不同的方法来解决问题。)

我在这里提到这一点,因为您可能已经正确配置了所有内容,但是您在 Google 的 API 控制台上为您的项目拥有多个密钥。(希望这个愚蠢的错误不会发生在你身上。)

于 2013-04-07T11:57:04.737 回答
1

因为这次你正在使用

<permission
  android:name="com.example.permission.MAPS_RECEIVE"
  android:protectionLevel="signature"/>
<uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>

你确定你的包名是com.example,如果不是,那么com.example用实际的包名替换

于 2013-04-17T11:07:10.600 回答
0

我有同样的问题。我使用的是谷歌地图 api v1 密钥。我用 google maps android api v2 密钥交换了它,问题解决了。

于 2013-04-10T08:32:05.517 回答
0

确保为不同的应用程序生成不同的密钥。

于 2013-05-09T05:33:17.137 回答
0

我遇到了同样的问题,但没有任何效果。然后我在应用程序管理器中找到了 Google Play Services 并清除了数据。突然,新的 API 密钥开始工作了!

于 2013-07-23T13:06:56.193 回答
0

如果您使用 Xamarin,请记住使用存储在以下位置的 debug.keystore 创建 API 密钥:

Windows 用户:C:\Users[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore

OSX:用户/[用户名]/.local/share/Xamarin/Mono for Android/debug.keystore

于 2013-07-24T21:42:30.117 回答