我正在尝试使用Google Maps Android API v2,并且我已经从我的发布证书创建了SHA1密钥。
我已经阅读了这里的评论,并且一切都正确,包括 Google 在此处的说明中未说明的READ_GSERVICES
权限
但是我仍然有错误
E/Google Maps Android API(12334):无法加载地图。 不能 联系谷歌服务器。
如果我还有什么遗漏,无论如何可以启发我吗?
我也包括了这个:
<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/谷歌地图安卓API(28025):授权 失败。
是什么导致了这个问题? 我的 SHA1 是从我的发布证书中获得的,这是错误的吗?
你解决了问题吗?可能是这就是问题所在->
启用了错误的服务。确保启用了"Google Maps Android API v2",而不是"Google Maps API v2",然后重新生成 API 密钥。(https://stackoverflow.com/a/13805807/1300982)
如果这是问题所在,请不要忘记重新生成 API 密钥。
还有一件事需要注意:我在两个不同的 API 项目中注册了相同的 SHA1 哈希。(是的,我知道这很愚蠢,但我正在尝试不同的方法来解决问题。
我在这里提到这一点,因为您可能已正确配置了所有内容,但是您在Google的API控制台上拥有多个项目的密钥。(希望这个愚蠢的错误不会发生在你身上。
这次你正在使用
<permission
android:name="com.example.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>
您确定您的软件包名称是com.example
,如果不是,则用实际package_name替换com.example
我遇到了同样的问题。我正在使用谷歌地图 api v1 密钥。我用谷歌地图安卓 api v2 密钥解决了它,问题解决了。
确保为不同的应用程序生成不同的密钥。
我遇到了同样的问题,但没有任何效果。然后我在应用程序管理器中找到了Google Play服务并清除了数据。突然,新的API密钥开始工作!
如果您使用的是 Xamarin,请记住使用存储在以下位置的 debug.keystore 创建 API 密钥:
视窗用户:C:\Users[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore
OSX:Users/[USERNAME]/.local/share/Xamarin/Mono for Android/debug.keystore