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