Google Maps API无法加载地图

时间:2016-11-26 23:39:28

标签: android api google-maps android-studio intellij-idea

我一直试图让谷歌地图工作几个小时,但我得到的只是灰色屏幕。根本没有地图。我知道这里已经提出了类似的问题,而且我没有再深入了解所有这些问题。

几小时前,当我从计算机上运行应用程序时,我设法让地图正常工作,但在安装APK时,它并没有起作用。所以我注意到有不同的API密钥用于调试和发布。我决定重新开始,生成新的密钥等等。因此,我从Google移除了现有密钥,生成了新的google_maps_api.xml文件并按照说明进行操作。

但是现在,从我的手机运行应用程序时,我收到以下错误消息:

E/b: Authentication failed on the server.
E/Google Maps Android API: Authorization failure.  Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
    Ensure that the "Google Maps Android API v2" is enabled.
    Ensure that the following Android Key exists:
        API Key: (OLD_API_KEY)
        Android Application (<cert_fingerprint>;<package_name>): (MY_FINGERPRINT);(PACKAGE_NAME)

所以,首先,我如何确保&#34; Google Maps Android API v2&#34;已启用?在Google API网站上,我只能找到我启用的 Google Maps Android API 。我无法找到关于 v2 的任何内容。

而且,我怎样才能确保以下Android Key存在&#34;。我删除了OLD_API_KEY,因为我想从头开始。不知道它从何而来。我显然没有它。所以我无法确保它在那里。为什么我不能使用我生成的新的?为什么它甚至知道我的旧密钥,我已经删除了?

如果我理解了所有内容,我应该生成一个用于调试的API密钥,并将其添加到调试文件夹中的google_maps_api.xml。对于发行版,我生成另一个密钥并将其添加到release文件夹中的google_maps_api.xml。我是否还需要向AndroidManifest.xml添加API密钥?目前我在application标签之间有这个:

    <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key"/>

@string/google_maps_key是我的调试密钥。

我的主要问题是,为什么我需要确保存在旧的api密钥,我已经删除了。我怎么能告诉Android我想要使用另一个?

1 个答案:

答案 0 :(得分:0)

我搞定了!事实证明,API键实际可用于应用程序需要很长时间。比API页面上提到的那些5分钟长很多。

因此,当您使用API​​密钥并获得与我相同的错误消息时,最好只有一个小小的中断,并在20分钟内再次检查,直到API密钥可用。