我一直试图让谷歌地图工作几个小时,但我得到的只是灰色屏幕。根本没有地图。我知道这里已经提出了类似的问题,而且我没有再深入了解所有这些问题。
几小时前,当我从计算机上运行应用程序时,我设法让地图正常工作,但在安装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我想要使用另一个?
答案 0 :(得分:0)
我搞定了!事实证明,API键实际可用于应用程序需要很长时间。比API页面上提到的那些5分钟长很多。
因此,当您使用API密钥并获得与我相同的错误消息时,最好只有一个小小的中断,并在20分钟内再次检查,直到API密钥可用。