确保已启用“Google Maps Android API v2”。我在尝试实施Google地图时遇到此错误

时间:2016-10-15 06:43:11

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

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

  1. 获得了我的sha1指纹。

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

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

    我的Logcat:

    enter image description here

    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******
    

11 个答案:

答案 0 :(得分:33)

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

  1. 登录google developer console
  2. 从左侧面板中选择“库”选项。
  3. 现在,您可以查看所有API列表,然后转到Google Maps API并选择 Google Maps Android API。
  4. 现在您可以看到启用/禁用API的选项。启用它。
  5. 我希望它可以帮到你。

答案 1 :(得分:13)

实际上,我也有同样的问题。 我的应用程序运行,并且地图为空!

实际上我在API 密钥限制

中遇到了问题

Google Developer Console

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

在您的Android移动设备上

  1. 卸载应用。

Android Studio

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

此步骤对我来说非常有效。

答案 2 :(得分:7)

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

我的实际开发是在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应用程序,这怎么可能是问题?无论如何,我将 密钥限制 切换为,重新启用我的应用,并按照应有的方式加载Google地图。

答案 3 :(得分:2)

  • 确保在API控制台中启用了Maps SDK for Android

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

enter image description here

答案 4 :(得分:1)

当控制台凭据部分中的软件包名称不正确时,可能会发生这种情况 对于开发和生产,请确保您的软件包名称正确。 以我为例,当我更正包映射后,该包名称是错误的

答案 5 :(得分:1)

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

要为您的调试版本生成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

答案 6 :(得分:0)

在Android Error中显示其自我错误。

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

只需打开谷歌开发者控制台,您就必须使用此API,并且需要一些配置来访问地图。

您可以在此处查看流程和更多详细信息。

Working With V2 Google Map

答案 7 :(得分:0)

我将另一个测试项目中的密钥添加到了主项目中。然后,我打开https://console.developers.google.com/,并用一个新的应用程序名称添加该密钥(如Linh Dao所写),但这无济于事。

然后,我添加了一个新活动(画廊中的模板“ Google Maps Activity”)并打开了文件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更改为此新值,并打开了链接。

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

我删除了不必要的地图活动,并保留了AndroidManifest

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

application标签中。

更新

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

在LogCat中,我看到了此异常:

enter image description here

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

enter image description here

转到“凭据”标签(有关信息,您也可以参见https://developers.google.com/maps/documentation/android-sdk/signup)。单击您的API密钥。

enter image description here

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

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

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

答案 8 :(得分:0)

对于其他人,即使一切都已设置,也能像我一样看到此情况,请确保您位于正确的项目中。这些必须根据项目完成。

答案 9 :(得分:0)

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

Linux / MacOS

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

Windows

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

答案 10 :(得分:0)

另一个原因可能是secure.propertiesbuild.gradle的相对路径错误。以防万一。