2012-03-12 88 views
0

我剛開始使用Android,我的地圖有問題。 我創建了一個TabActivity並添加MapActivity與標籤之一:Android GoogleMaps貼圖閃爍

spec = tabHost.newTabSpec("map").setIndicator("Map"); 
intent= new Intent().setClass(this, NavisMapActivity.class); 
spec.setContent(intent); 
tabHost.addTab(spec); 

在MapActivity我從XML佈局的MapView與findViewById

 <com.google.android.maps.MapView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/mapview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:apiKey="my_key_is_here" 
     android:clickable="false" /> 

當我加載應用程序,一切工作完美,直到我切換標籤或調用其他應用程序。基本上當OnPause/OnStop被調用時。然後當我回到地圖時,它的瓷磚開始不斷閃爍。唯一的解決方案是強制關閉應用程序。

這種情況只發生在衛星地圖塊和版本2.3.5以上(在真實手機和Eclipse仿真器上測試過)。

到目前爲止我曾嘗試:

  • 使用mapView.destroyDrawingCache()命令中的onPause功能
  • 經由代碼而不是XML佈局
  • 破壞與LocalActivityManager整個MapActivity添加的MapView當標籤被切換和創建一個新的

這一切都沒有幫助。任何人都可以幫我嗎? 謝謝

+0

你試過創建一個從MapActivity擴展的自定義tabActivity,然後使用Fragments作爲標籤內容框架?這也會降低主要活動的複雜性,可能意味着更高的效率。對於Android的Google Maps api有點缺乏,我通常會發現。 – pablisco 2012-03-13 14:21:50

+0

不,最低版本要求是Android 2.1,如果我沒有弄錯,碎片是在稍後實施的。所以我不能使用它們。我還沒有和他們合作過。 – Ioras 2012-03-13 14:51:34

+0

你仍然可以在支持包中使用Fragments:http://developer.android.com/sdk/compatibility-library.html – pablisco 2012-03-13 21:38:30

回答