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>