【问题标题】:Ensure that the "Google Maps Android API v2" is enabled. I am getting this error when I try to Implement Google Maps确保启用了“Google Maps Android API v2”。尝试实施 Google 地图时出现此错误
【发布时间】:2016-10-15 06:43:11
【问题描述】:

我正在使用谷歌地图,我收到了这个错误。我做了以下事情:

  1. 得到了我的 sha1 指纹。

  2. 注册了我的项目并获得了我的项目密钥。

我不知道如何启用 Google Maps Android API v2,因为我尝试过的所有链接都是旧的,而且 Google 已经改变了它的网站设计。 请帮我。我已经在这上面浪费了很多时间。

我的 Logcat:

Authorization failure.  Please see 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 (console.developers.google.com)


 Ensure that the "Google Maps Android API v2" is enabled.
 Ensure that the following Android Key exists:
   API Key: AIzaSyBK8rKr9lCRLhzv68I4Q26G9pHHO******

【问题讨论】:

标签: android google-maps google-maps-android-api-2


【解决方案1】:

从错误中可以清楚地看出您没有为 android 启用 google map api。要启用,

  1. 登录google developer console
  2. 从左侧面板中选择库选项。
  3. 现在您可以查看所有 API 列表并转到 Google Maps API 并选择 谷歌地图 Android API。
  4. 现在您可以看到启用/禁用 API 的选项。启用它。

希望对你有帮助。

【讨论】:

  • 我也有同样的问题。在 Google 开发者控制台中,我的 Google Maps API 已启用。但是,当我在那里看到“所有版本 API”选项卡时,我可以单独看到 v1。如何为 API 启用 v2?任何帮助将不胜感激,因为我已经面对这个问题很长时间了。
  • @devgeek 你有什么解决办法吗??
  • 你能分享一下谷歌开发者控制台的正确网址吗?
  • 如果其他人需要它Google Developer Console
  • 我找不到 Google Maps Android API.. 是不是和我只找到的“Maps SDK for Android”一样?
【解决方案2】:

其实我也有同样的问题。 我的应用程序运行并且地图是空白的!

首先检查你的安卓手机是否安装了Google Play

实际上我在 API 密钥限制

中遇到了问题

谷歌开发者控制台

  1. 登录开发者控制台。
  2. 在您的仪表板导航菜单中。(左侧)
  3. 选择 API 和服务 > 凭据。
  4. 因此,如果您可以查看您创建的所有 API 密钥,您将被重定向到凭据页面 (https://console.cloud.google.com/apis/credentials)
  5. 确定您的项目 API 密钥并点击 Edit Api Key
  6. 您可以在其中看到关键限制
  7. 从那里删除所有应用程序限制和 Api 限制。

在您的 Android 手机上

  1. 卸载应用程序。

Android 工作室

  1. 构建 > 清理项目。
  2. 构建 > 重建项目。
  3. 运行 IT

这些步骤非常适合我。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,但在以下设置中:

    我的实际开发是在 Windows 机器上进行的。然后我买了一台 Mac,并想我会在它上面开发。我在我的 Mac 上安装了 Android Studio,从 Github 上查看了我的项目,然后尝试使用我的 Android 手机运行它。 APK 安装无缝进行。但是,一旦应用程序在手机上启动,GoogleMap 就不会显示,即使我的应用程序的其余部分运行正常。然后我找到了这个链接 => https://github.com/react-community/react-native-maps/issues/69,访问了我的 console.developers.google.com/ 并打开了我遇到问题的 Google 地图密钥。

    我看到的是密钥仅限于 Android 应用程序。但是我正在开发一个 Android 应用程序,这怎么可能是问题所在?无论如何,我将 Key Restriction 切换为 None,重新运行我的应用程序,然后 GoogleMap 就按应有的方式加载了。

    【讨论】:

    • 有趣。我想知道他们是否将其视为 Apple 设备,因为它正在一台设备上进行调试?
    • 不知道 :) 感觉距离我上次查看 google 开发控制台已经过去了一个世纪。
    • 取消限制不是一个好主意。您需要生成一个new key SHA-1 指纹。一旦生成并上传到控制台,即使是已安装的版本也将立即运行。
    【解决方案4】:

    您可能需要将新的 SHA-1 证书指纹添加到您的 API 密钥应用程序限制页面:

    要为您的调试版本生成 SHA1 证书指纹,请使用 java jre 的 keytool 作为以下示例命令:

    C:\Program Files\Android\Android Studio\jre\bin>keytool -list -v -keystore C:\Users\linhd\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
    

    【讨论】:

    • 是的,我换了电脑,所以需要生成新的 SHA-1 指纹。
    【解决方案5】:
    • 确保在 API 控制台中启用了Maps SDK for Android

    • 此外,您可能需要添加您的包名称和 SHA-1 签名证书指纹,以限制使用您的密钥才能完全启用。

    【讨论】:

    • 这是正确的答案,我们需要在开发者控制台中启用 Maps SDK for android。然后只有地图可用。
    【解决方案6】:

    当控制台凭据部分中的包名称不正确时,可能会发生这种情况 对于开发和生产,请确保您的包名称是正确的。 在我的情况下,当我更正它时,包名称是错误的,地图变得可见

    【讨论】:

      【解决方案7】:

      我将另一个测试项目中的密钥添加到主项目中。然后我打开https://console.developers.google.com/ 并用一个新的应用程序名称添加了那个键(就像Linh Dao 写的一样),但它没有帮助。

      然后我添加了一个新活动(图库中的模板“Google 地图活动”)并打开了一个文件google_maps_api.xml。从那里我又找到了一个类似https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=06:F2:F4:CD...applicationName的链接。

      我打开app/build.gradle,发现applicationId 值与applicationIdSuffix(如果存在)并加入,例如加入com.example.myapp.debug。在链接中,我将 applicationName 更改为这个新值并打开了链接。

      再次创建一个新项目,生成一个新密钥并对其进行编辑,写入包名和 SHA-1 指纹,就像@Linh Dao 写的那样。然后得救了。如果您稍后要找到该密钥,请在 Google 控制台中找到您的项目并打开凭据。

      我删除了一个不必要的地图活动并在AndroidManifest 中保留了

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

      application 标签中。

      更新

      几个月后,我在debug 构建中遇到了同样的异常。据我了解,我设置了错误的 API 密钥。

      在 LogCat 中我看到了这个异常:

      然后我打开https://console.developers.google.com/,打开了一个需要的项目,点击“Maps SDK for Android”。

      转到“凭据”选项卡(您也可以查看https://developers.google.com/maps/documentation/android-sdk/signup 了解信息)。点击您的 API 密钥。

      API key 页面的Key restrictions 下,设置Application restrictions。点击+ Add package name and fingerprint

      在上面的 LogCat 中输入您的包名称(例如,com.your_package.debug)。从 LogCat (91:D6:...:F7) 输入您的指纹。保存它。

      正如@Ahamed Rasheed 所写,我使缓存无效,清理并重建了项目。

      【讨论】:

        【解决方案8】:

        另一个原因可能是secure.propertiesbuild.gradle中的相对路径不对。检查它以防万一。

        【讨论】:

          【解决方案9】:

          当您存储 Google Maps API 密钥仅用于调试时,这通常发生在 release 版本上。

          1. 当您添加 google maps API 时,您将其存储在 res/values/google_maps_api(debug)。注意 debug 这个词,这意味着它只适用于 debug 而不是 release
          2. 您必须根据自己的喜好将 API 密钥设置为 res/values/strings 或直接在清单元数据或 Gradle 中。
          3. 确保清单元数据引用的是您更改的那个,而不是 res/values/google_maps_api(debug) 中的那个

          为了安全,别​​忘了限制你的 API https://developers.google.com/maps/api-security-best-practices

          【讨论】:

            【解决方案10】:

            在 Android 错误中显示其自身的错误。

            在您的错误中,在谷歌开发者控制台中检查第一个 V2 谷歌地图 API 时显示错误。

            只需打开谷歌开发者控制台,您只需在此 API 上进行一些配置即可访问地图。

            您可以从这里查看流程和更多详细信息。

            Working With V2 Google Map

            【讨论】:

              【解决方案11】:

              对于其他任何人都像我一样看到这一点,即使一切都已设置,请确保您在正确的项目中。这些必须在每个项目中完成。

              【讨论】:

                【解决方案12】:

                我在另一台计算机上使用 Android Studio 打开项目时遇到了这个问题。更新 SHA-1 解决了这个问题。

                Linux/MacOS

                keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
                

                窗户

                keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
                

                【讨论】:

                  【解决方案13】:

                  我认为您已将 release 版本的 SHA-1 密钥添加到 Console

                  测试时,您检查调试视图。

                  SHA-1 密钥在 ReleaseDebug 版本中有所不同。

                  【讨论】:

                    【解决方案14】:

                    我遇到了类似的问题,我按照以下步骤解决了问题:

                    1.转到 Google Maps Platform > Credentials 页面。 2.创建一个新的API密钥 3. 在密钥限制下,设置以下限制: 应用限制: 选择安卓应用。 单击 + 添加包名称和指纹。 输入您的软件包名称和 SHA-1 证书指纹。 例如:

                    com.example.android.mapexample

                    SHA-1 证书指纹 *:使用从 Logcat 获得的错误消息 示例:BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75

                    API 限制:

                    单击限制键。 从选择 API 下拉列表中选择适用于 Android 的 Maps SDK。如果未列出适用于 Android 的 Maps SDK,则需要启用它。 要完成更改,请点击保存。

                    清理项目并运行。

                    【讨论】:

                      猜你喜欢
                      • 2019-10-10
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2012-11-23
                      • 1970-01-01
                      • 1970-01-01
                      • 2022-01-14
                      • 1970-01-01
                      相关资源
                      最近更新 更多