当前位置: 首页 > 知识库问答 >
问题:

谷歌地图v2:授权失败

庄实
2023-03-14

授权失败。请参阅https://developers.google.com/maps/documentation/android/start了解如何正确设置地图。

确保以下内容与API控制台中的内容相对应:包名称:com.company.app,API密钥:AIzaSyC***OsTeo,证书指纹:4E5285***6BF53ED3联系Google服务器失败。建立连接后将进行另一次尝试。

加载地图失败。联系Google服务器时出错。这可能是身份验证问题(但可能是由于网络错误)。

我知道关于这个问题还有很多问题。但我似乎无法让“地图”视图正常工作。结果是一个空的贴图视图(带有缩放按钮)。

我所做的:下载/安装了google play服务,添加了google play服务。jar到libs
在代码中启用了Google Maps API v2。谷歌。com/API/console—设置正确的权限

我的清单是这样的:

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<permission
    android:name="com.company.app.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.company.app.permission.MAPS_RECEIVE" />

<application ...>
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyC***OsTeo" />
</application>

Google API控制台api访问如下所示:

Key for Android apps (with certificates)
API key:        AIzaSyC***OsTeo
Android apps:   4E:52:85:***6B:F5:3E:D3;com.company.app
Activated on:   Jun 18, 2013 11:07 PM
Activated by:   my@email.com – you

还有一些代码(我不明白为什么这会导致授权错误):

FragmentManager fragmentManager = super.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
SupportMapFragment fragment = new SupportMapFragment();
fragmentTransaction.replace(R.id.mapContainer, fragment);
fragmentTransaction.commit();

正如您所看到的,我得到一个错误,即包名、api密钥和证书指纹与google服务器不对应。但就像我在上面写的,这些值确实匹配。。。

共有3个答案

上官鸿晖
2023-03-14

设置API密钥时,包名称是清单上包属性的值,而不是应用程序名称。

这(com.foo)是:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.foo"

不是这个(com.foo.MyApplication):

<application
    android:name="com.foo.MyApplication"
艾照
2023-03-14

对我来说,如果简单的话,可以帮助:当您从Android Studio工作时,您会将Google API密钥写入文件google_maps_api.xml但Android Studio只会在Project Manager中显示(调试)版本的密钥文件。您需要将密钥放入

\app\src\release\res\values\google\u maps\u api。xml

文件也是(就像你把钥匙放在适当的位置一样

\app\src\debug\res\values\google\u maps\u api。xml

)

赵晟睿
2023-03-14

Google API的控制台中激活Google Maps Android API v2服务。此外,在进行更改后,在设备/模拟器上完全重新安装应用程序。

 类似资料:
  • activity_main.xml 舱单 错误输出

  • 我创建了一个服务帐户,并为其分配了访问云功能的权限: gcloud beta函数add-iam-policy-binding MyFunction--member=serviceaccount:cf-access@my-project.iam.gserviceaccount.com--role=roles/cloudfunctions.admin 产出: 现在,我下载了服务帐户json文件。 所以

  • 我正在尝试建立地图应用程序和遵循这个链接一步一步。我在这里找到了类似的话题,但没有帮助我。我想显示地图,但当我运行它,它返回的力量关闭和我的android设备。我看到了很多关于这个错误的问题,但没有人真正回答我的问题。这是我的logcat: 这里是我的mainactivity.java 我已经从下面链接一步一步地阅读了,但是在我的代码中似乎有很多错误。我错过了什么?有什么建议吗?多谢。

  • 我试图在我的应用程序中添加谷歌地图V2:我已经添加了清单文件中的所有权限 并添加Google play库 但是我发现一个错误,连接谷歌服务器失败,请帮助我

  • 我正在使用谷歌地图v2,并得到了这个错误。 找不到从方法Maps.ag.an.a引用的类“Maps.af.k” 但我还是犯了这个错误。

  • 我的项目内容粘贴在下面。我想我已经有了从所有这些不同的帖子中推荐的一切,但是,像许多其他人一样,我得到了这个通货膨胀运行时错误。 这个实际的项目取自Vogella教程,它甚至不会编译。我从其他帖子中应用了相同问题的修复。 谁能告诉我如何使这工作?有人知道任何地方有一个可行的例子吗?谢谢,加里 清单文件。.. 我的主布局XML文件。... MainActivity.java文件。..(祝代码粘贴在此