如何在现有较旧的 android 项目中使用最新 API 添加 Google Map?

Posted

技术标签:

【中文标题】如何在现有较旧的 android 项目中使用最新 API 添加 Google Map?【英文标题】:How to add Google Map in using latest API in an existing older android project? 【发布时间】:2019-02-27 22:56:30 【问题描述】:

我有一个旧的 android 项目,我在其中使用了 Location API 和 Google 地图。我发现许多 API 已更新。如果我从 Android Studio 为 Map 活动生成一个新项目,它会生成文件并指示如何获取 Google API 密钥以及如何在 google_maps_api.xml(debug) 文件中添加该密钥。这是在 app/debug/res/values/google_maps_api.xml 生成的。此文件值在 AndroidManifest.xml 中读取为

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

我想对现有的旧 Android 项目做同样的事情。我生成 google API 密钥并将其添加到 AndroidManifest.xml 作为

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

xxxxxxxxxx = 来自 Google 控制台的实际 API 密钥。

但它不起作用。我可以看到一张空白地图。它还在 logcat 中显示:-

E/Google Maps Android API:授权失败。请参见 https://developers.google.com/maps/documentation/android-api/start 为 如何正确设置

那么如何在现有的旧 Android 项目中正确添加它?

【问题讨论】:

您已授予权限? 我有这些:- 你能贴出你的java代码吗? 它很大。我可以在托管这个项目的地方分享 github 链接。让我提交最新的更新,然后我分享链接。 好吧给它..... 【参考方案1】:

问题出在您的 Api 密钥中,请检查您的 api 密钥..

我通过输入我的 Api 密钥及其工作来测试您的 Map ..

请生成新的 Api 密钥并尝试一下。

按照以下步骤获取 API 密钥:

Go to the Google Cloud Platform Console.
1.Create or select a project.
2.Click Continue to enable the API and any related services.
3.On the Credentials page, get an API key. 
Note: If you have an existing unrestricted API key, or a key with browser restrictions, you may use that key.

这是我的地图屏幕截图

【讨论】:

是的,当我在 google 控制台中创建一个新项目时它可以工作。我在另一个项目中使用了相同的密钥。所以 API 密钥不能在 2 个项目之间共享。 @masiboo 希望我的回答对你有帮助【参考方案2】:

尝试获取新的API key。可能当前密钥已失效

...由于包名称更改或签名密钥指纹更改。

【讨论】:

以上是关于如何在现有较旧的 android 项目中使用最新 API 添加 Google Map?的主要内容,如果未能解决你的问题,请参考以下文章

安装较旧的角度版本 5?

将最新版本的 TypeScript 定义与较旧的 JavaScript 库一起使用

在 bash 中构建较旧的 NetBeans 项目会导致错误

为啥在较新的 Android 设备上预检失败,但在较旧的设备和台式机上却没有?

如何使用 2010 \ 2011 sdk 编译较旧的 3dsmax 版本?

如何运行具有不同/较旧的 Dart SDK 依赖项的颤振项目?