Google Maps Android API 示例密钥不起作用?

Posted

技术标签:

【中文标题】Google Maps Android API 示例密钥不起作用?【英文标题】:Google Maps Android API Samples Key not working? 【发布时间】:2018-04-25 17:19:25 【问题描述】:

我是一个 android/Java 菜鸟,试图让 Google Maps Android API 示例与我的 Macbook 上的模拟器 (Nexus 5X API 26) 和 Android Studio 一起工作。

我复制了示例的 github 存储库并将其加载到 Android Studio 中。现在,项目编译并且我在模拟器上有应用程序,但地图似乎没有加载到片段中。

我在控制台中没有看到任何错误。 我创建了不受限制的 GMaps API 密钥,并在清单文件和资源/调试 google_maps_api.xml 文件中对其进行了更新。

这是有问题的活动。https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/java/com/example/mapdemo/BasicMapDemoActivity.java

我还在 onMapReady() 处设置了一个断点,它确实被命中了。但是片段是空白的。如何进一步调试?

【问题讨论】:

【参考方案1】:

我自己通过从模拟器切换到真机解决了这个问题。

看起来有些模拟器没有预装 Google Play services APK。这可能是问题所在。

【讨论】:

【参考方案2】:

转到 android manifest(sample project) 找到这一行。

 <!--
             The API key for Google Maps-based APIs is defined as a string resource.
             (See the file "res/values/google_maps_api.xml").
             Note that the API key is linked to the encryption key used to sign the APK.
             You need a different API key for each encryption key, including the release key that is used to
             sign the APK for publishing.
             You can define the keys for the debug and release targets in src/debug/ and src/release/.
        -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

在 values 文件夹中,您会发现 google_maps_api.xml 使用您的开发谷歌地图键更改 google_maps_key 的值,因为在 google_maps_api.xml 中明确提到了

Once you have your key (it starts with "AIza"), replace the "google_maps_key"
    string in this file.

    Note: This resource is used for the debug build target. Update this file if you just want to run
    the demo app.

如果您还没有在谷歌开发者控制台https://developers.google.com/ad-exchange/rtb/open-bidder/google-app-guide创建任何项目,请查看此链接

【讨论】:

我已经处理了清单文件和我在帖子中提到的xml文件。 请检查上面的答案,它在我的 AVD 中工作

以上是关于Google Maps Android API 示例密钥不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

无法运行 Google Maps Android API Utility Demo

谷歌地图 api 上的“新 google.maps.directionService()”错误

Google Geolocation API 和 Google Maps Android SDK

Android:使用 Google API 获取实时方向,还是与 Google Maps 通信?

Android Manifest 未向 Google Maps 提供 API 密钥

为 Google Maps API v2 Android 发布流媒体方向