![](/img/trans.png)
[英]Ensure that the "Google Maps Android API v2" is enabled. Even if already enabled
[英]Ensure that the "Google Maps Android API v2" is enabled. I am getting this error when I try to Implement Google Maps
我正在研究谷歌地图,我收到了这个错误。 我做了以下事情:
得到了我的 sha1 指纹。
注册了我的项目并获得了我的项目密钥。
我不知道如何启用 Google Maps Android API v2,因为我尝试过的所有链接都是旧的,而且 Google 已经改变了它的网站设计。 请帮我。 我已经在这上面浪费了很多时间。
我的日志猫:<\/strong>
从错误中可以看出您没有为 android 启用谷歌地图 api。 要启用,
我希望它能帮助你。
其实我也有同样的问题。 我的应用程序运行,地图是空白的!
首先检查您的Android手机是否安装了Google Play 。
实际上我在 API密钥限制方面遇到了问题
这些步骤对我来说非常有效。
我遇到了同样的问题,但在以下设置中:
我的实际开发是在 Windows 机器上进行的。 然后我买了一台 Mac 并认为我会在它上面开发。 我在 Mac 上安装了 Android Studio,从 Github 查看了我的项目,然后尝试使用我的 Android 手机运行它。 APK 安装无缝执行。 但是,一旦应用程序在手机上启动,即使我的应用程序的其余部分运行正常,GoogleMap 也不会显示。 然后我找到了这个链接 => https://github.com/react-community/react-native-maps/issues/69 ,去我的console.developers.google.com/并打开我的谷歌地图键,我有问题与。
我看到的是密钥仅限于Android应用程序。 但我正在开发一个 Android 应用程序,这怎么可能是问题? 无论如何,我将Key Restriction切换为None ,重新运行我的应用程序,并按应有的方式加载 GoogleMap。
当用于开发和生产的控制台凭据部分中的包名称不正确时,可能会发生这种情况,请确保您的包名称正确。 就我而言,当我更正地图变得可见时,包名称是错误的
我将另一个测试项目中的密钥添加到主项目中。 然后我打开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所写,我使缓存无效,清理并重建了项目。
另一个原因可能是secure.properties
中build.gradle
的相对路径是错误的。 检查一下以防万一。
在 Android Error 中显示其自身错误。
在你的错误中检查第一个 V2 谷歌地图 API 的显示错误在谷歌开发者控制台中打开。
只需打开谷歌开发者控制台,你只需要在这个 API 上进行一些配置,就可以访问地图。
您可以从此处查看流程和更多详细信息。
对于即使一切都已设置也像我一样看到这一点的任何其他人,请确保您在正确的项目中。 这些必须按项目完成。
我在另一台计算机上用 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
我认为您将发布版本的 SHA-1 密钥添加到了Console 。
测试时,您检查调试视图。
SHA-1 密钥在Release和Debug版本中有所不同。
当您存储 Google Maps API 密钥仅用于调试时,这通常发生在发布版本上。
为了安全起见,不要忘记限制您的 API https://developers.google.com/maps/api-security-best-practices
我遇到了类似的问题,我按照以下步骤解决了问题:
1.转到 Google Maps Platform > Credentials 页面。 2.创建新的 API 密钥 3. 在密钥限制下,设置以下限制: 应用程序限制:选择 Android 应用程序。 单击 + 添加包名称和指纹。 输入您的软件包名称和 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,则需要启用它。 要完成更改,请单击保存。
清理项目并运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.