2013-05-16 36 views
1

我已經將地圖片段放置在一個LinearLayout中,它是ScrollView的子節點。 當我向下滾動時遇到地圖時,地圖在屏幕上留下黑色補丁。 在ICS之前,我正在面臨這個問題。薑餅。有沒有人遇到類似的問題? enter image description hereAndroid中的問題谷歌地圖v2 pre ICS

+1

可能重複http://stackoverflow.com/questions/13793483/google-maps- android-api-v2-blacking-out-part-of-layout?rq = 1 – chopchop

+1

和這個:http://stackoverflow.com/questio NS/16017498/slidingmenu-節目-blsck-時使用的與 - 地圖-API-V2 –

回答

1

我得到了解決方案!

創建一個類MyMapFragment

import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.SurfaceView; 
import android.view.View; 
import android.view.ViewGroup; 

import com.google.android.gms.maps.SupportMapFragment; 

public class MyMapFragment extends SupportMapFragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     View view = super.onCreateView(inflater, container, savedInstanceState); 
     setMapTransparent((ViewGroup) view); 
     return view; 
    }; 

    private void setMapTransparent(ViewGroup group) { 
     int childCount = group.getChildCount(); 
     for (int i = 0; i < childCount; i++) { 
      View child = group.getChildAt(i); 
      if (child instanceof ViewGroup) { 
       setMapTransparent((ViewGroup) child); 
      } else if (child instanceof SurfaceView) { 
       child.setBackgroundColor(0x00000000); 
      } 
     } 
    } 
} 

初始化GoogleMap的

map = ((MyMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.mapView)).getMap(); 

中的XML

<LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="250dp" 
      android:layout_marginBottom="15dp" 
      android:background="@drawable/mapouter" > 

      <fragment 
       xmlns:map="http://schemas.android.com/apk/res-auto" 
       android:id="@+id/mapView" 
       android:name="com.example.MyMapFragment" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" /> 
     </LinearLayout>