首页 > 解决方案 > Android Studio-Google 地图不显示地图

问题描述

我正在尝试使用 android studio 中的 google maps api 创建一个 google maps 活动。我生成了 API 密钥并将其粘贴到 google_maps_api.xml` 中。我的清单文件是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.l5434.project">

    <!--
         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but you must specify either coarse or fine
         location permissions for the 'MyLocation' functionality.
    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <permission android:name="com.example.l5434.project" android:protectionLevel="signature"/>


    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!--
             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" />

        <activity
            android:name="pubsub.subscriber.MapsActivity"
            android:label="@string/title_activity_maps"></activity>
        <activity android:name="pubsub.subscriber.SubscriberActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

我还在我的中添加了依赖项compile 'com.google.android.gms:play-services-maps:+'build.gradle但它并没有解决问题。这是地图活动开始时模拟器的外观。

在此处输入图像描述

你知道出了什么问题吗?

标签: androidgoogle-maps

解决方案


此问题通常与用于签署清单的地图 API 密钥有关。看看这篇文章和描述你遇到的同样错误的这篇文章。在这两种情况下,都是因为他们使用的 API 密钥是使用错误的密钥库创建的。keystore在 Google API 控制台中创建 API 密钥时,您需要确保使用调试


推荐阅读