我正在使用谷歌地图,我收到此错误。我做了以下事情:
获得了我的sha1指纹。
注册我的项目并获得我的项目密钥。
我不知道如何启用谷歌地图Android API v2启用,因为我尝试的所有链接都是旧的,谷歌已经改变了它的网站设计。 请帮我。我已经浪费了很多时间在这上面。
我的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******
答案 0 :(得分:33)
从错误中可以清楚地看到,您没有为Android启用google map api。要启用,
我希望它可以帮到你。
答案 1 :(得分:13)
实际上,我也有同样的问题。 我的应用程序运行,并且地图为空!
实际上我在API 密钥限制
中遇到了问题此步骤对我来说非常有效。
答案 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)
答案 4 :(得分:1)
当控制台凭据部分中的软件包名称不正确时,可能会发生这种情况 对于开发和生产,请确保您的软件包名称正确。 以我为例,当我更正包映射后,该包名称是错误的
答案 5 :(得分:1)
您可能需要向API密钥应用程序限制页面添加新的SHA-1证书指纹:
要为您的调试版本生成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,并且需要一些配置来访问地图。
您可以在此处查看流程和更多详细信息。
答案 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中,我看到了此异常:
然后我打开https://console.developers.google.com/,打开了一个需要的项目,然后单击“ Android Maps SDK”。
转到“凭据”标签(有关信息,您也可以参见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 :(得分: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.properties
中build.gradle
的相对路径错误。以防万一。