android中的单独片段中的Mapview

android中的单独片段中的Mapview,android,google-maps,android-fragments,Android,Google Maps,Android Fragments,我正在编写一个需要显示地图的应用程序。屏幕由两部分组成-顶部和底部。底部包含四个按钮,模拟底部的工具栏。顶部显示单击按钮所需的片段。其中一个片段包含MapView。我不能包含静态MapFragment,因为我需要替换片段。问题是,虽然mapview已正确初始化(它显示一个网格和两个按钮+&-),但不显示任何地图。我正在使用下面的代码- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

我正在编写一个需要显示地图的应用程序。屏幕由两部分组成-顶部和底部。底部包含四个按钮,模拟底部的工具栏。顶部显示单击按钮所需的片段。其中一个片段包含
MapView
。我不能包含静态
MapFragment
,因为我需要替换片段。问题是,虽然mapview已正确初始化(它显示一个网格和两个按钮+&-),但不显示任何地图。我正在使用下面的代码-

<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"
    tools:context="com.opaxlabs.text.MyMapFragment" >

    <!-- TODO: Update blank fragment layout -->

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

</RelativeLayout>
编辑:这是我的清单

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

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

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.opaxlabs.text.SplashActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.opaxlabs.text.MainActivity"
            android:label="@string/title_activity_main" >
        </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyDWh4filEQQH6MSUU8N1ZbjomTxhu005WQ" />
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
    </application>

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

</manifest>

我错过什么了吗?
感谢您的帮助。提前感谢。

要显示谷歌地图,您需要一个谷歌api密钥。阅读以下内容获取您的密钥:

您可以使用简单的教程设置谷歌地图。它很容易理解和实现

更好地实现
MapFragment
而不是
MapView
…我已经阅读了另一个项目的教程,效果非常好。但是在这种情况下,我不能静态地使用mapfragment。我需要在单击按钮时替换片段。看,对于此实现以及将来的更改和实现,使用MapFragment总是很好的。是否可以将frameview替换为MapFragment,因为我需要动态替换片段。我尝试使用getSupportFragmentManager().beginTransaction().replace(R.id.top,new MapFragment()).addToBackStack(“Map”).commit()进行替换;但这不起作用。请描述您的要求,并具体说明您想要实现的目标,以便我可以帮助您。我有一个底部有四个按钮的活动。每个按钮在活动中加载一个片段。其中之一是地图。我必须在点击按钮时切换这些片段。创建mapfragments实例并替换framelayout不起作用,因此我被迫使用mapview,它也没有正确显示地图。它只显示一个网格和两个botton+&-。我使用map fragment尝试了一个单独的活动,它正确地显示了映射,因此它不是错误的api键。通常情况下,您会出现这种行为(…它显示一个网格和两个按钮+&-),因为api键不正确。如果您使用调试证书,请考虑它与机器到机器的不同(如果在您的PC上没有创建密钥)。还有,让你的清单看看是否一切都好会很有帮助。谢谢
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.opaxlabs.text"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.opaxlabs.text.SplashActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.opaxlabs.text.MainActivity"
            android:label="@string/title_activity_main" >
        </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyDWh4filEQQH6MSUU8N1ZbjomTxhu005WQ" />
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
    </application>

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

</manifest>