为什么';谷歌地图的地图视图是否出现在我的Android片段中?

为什么';谷歌地图的地图视图是否出现在我的Android片段中?,android,android-fragments,google-maps-android-api-2,android-mapview,Android,Android Fragments,Google Maps Android Api 2,Android Mapview,当我点击NavigationDrawer中的列表项时,我试图显示一个Google地图视图。我设置它的方式是,每当我单击一个列表项时,当前片段就会被一个新片段替换 因此,当我单击“查找存储”列表项时,我的StoreMapFragment将替换当前片段 我遇到的问题是,谷歌徽标和放大缩小按钮出现在屏幕底部,但实际地图本身不会显示 我已经阅读了谷歌地图Android API v2的许多指南,以及在StackOverflow上提出的类似问题。我也尝试过用一个活动来做这件事,但我得到了同样的结果 起初,我

当我点击NavigationDrawer中的列表项时,我试图显示一个Google地图视图。我设置它的方式是,每当我单击一个列表项时,当前片段就会被一个新片段替换

因此,当我单击“查找存储”列表项时,我的StoreMapFragment将替换当前片段

我遇到的问题是,谷歌徽标和放大缩小按钮出现在屏幕底部,但实际地图本身不会显示

我已经阅读了谷歌地图Android API v2的许多指南,以及在StackOverflow上提出的类似问题。我也尝试过用一个活动来做这件事,但我得到了同样的结果

起初,我在堆栈跟踪中没有看到任何错误。现在它是这么说的:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.fv4.app"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="19" />

    <permission
        android:name="com.fv4.app.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="com.fv4.app.permission.MAPS_RECEIVE" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.Teatimefinal">
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyAxwMnDDx7pP23x3sB8ZqACsXC3MUDfE7c" />

          </application>

</manifest>
布局XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.google.android.gms.maps.MapView
        android:id="@+id/store_map_frag"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

这就是我的屏幕的样子:


根据堆栈跟踪,API密钥出现了一些奇怪的情况。这似乎是一个相当普遍的问题。我自己也不得不处理奇怪的API密钥问题。有关详细信息。

确定。我解决了这个问题。问题在于SHA-1的指纹。我意识到我用错了SHA-1。我实际上使用了来自的示例SHA-1。因此,我决定看看StackOverflow如何获得我自己的SHA-1,这里:


现在我可以看到地图了。

android:uses permission
->
uses permission
。还有,发布日志。我以前在谷歌地图(android)上做过一些工作,我的示例代码在-这应该可以帮助你bit@njzk2起初我没有看到错误,但我又看了一眼,现在发布的堆栈TraceMap有自己的LogCat输出。如果你仍然有问题的话,寻找并发布它。也要仔细检查你的密码。有时候会发生奇怪的事情。编辑:是的,堆栈跟踪显示“身份验证错误”,这意味着API密钥有问题。尝试重新生成它。@sonictt1确定。根据堆栈跟踪,错误似乎与API键有关。不过我觉得很奇怪,因为我知道API密钥存在。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.google.android.gms.maps.MapView
        android:id="@+id/store_map_frag"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>