0

我目前正在开发一款应用程序,使用Galaxy S3与Android 4.0版冰淇淋三明治。我遵循Vogella's tutorial关于如何使用适用于Android的Google地图v2创建示例地图,并使用了冰淇淋三明治。显示地图上的所有内容。但是,当我尝试访问应用程序的地图活动2.3版姜饼我的朋友Android设备时,我得到一个空白的屏幕只有GPS按钮和放大和缩小按钮可见,但在我的手机上它运行得很好。谷歌地图V2空白屏幕

清单:

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

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

<permission 
    android:name="com.example.mapApp.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.example.mapApp.permission.MAPS_RECEIVE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.SET_DEBUG_APP" > 
</uses-permission> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.mapApp.HomeActivity" 
     android:label="@string/title_activity_home" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="com.example.mapApp.MyMap" /> 

    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="MY API KEY" /> 
</application> 

布局:

<fragment 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment" /> 

活动:

public class MyMap extends FragmentActivity{ 
private GoogleMap map; 
@SuppressLint("NewApi") 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_map); 
    SupportMapFragment FMap = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); 
    map = FMap 
}} 

谢谢。

+1

你实际上写过你提出的修改,但是你仍然有问题......你能否告诉我们,这是你收到的最后一条错误信息 – Xavjer 2013-03-19 14:12:59

+0

我编辑了问题和我的活动代码,在姜饼上运行时,m没有收到一个强制关闭,而是一个没有错误信息的空白屏幕。 – user1832478 2013-03-20 11:27:08

+0

你有没有有效或正确的地图API密钥?发布您的整个清单文件不只是它的一部分。 – 2013-03-20 11:32:43

回答

1
<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="my api key" /> 

需要在应用程序标签内。

0

你的清单必须是象下面这样:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.djandroid.mapsv2" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="16" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="com.djandroid.mapsv2.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 
    <application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.djandroid.mapsv2.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="API_KEY" /> 
    <uses-library 
     android:name="com.google.android.maps" 
     android:required="true" /> 
    </application> 
</manifest> 

您是forgate这在你的manifest文件:

​​

这就是为什么你可能会得到下面的错误日志:

Then error is : java.lang.RuntimeException: Google Maps Android API only supports OpenGL ES 2.0 andabove. Please add <uses-feature android:glEsVersion="0x00020000" android:required="true" /> into AndroidManifest.xml 

详细代码ClickHere