2014-05-12 37 views
2

在我的應用程序中,我需要顯示谷歌地圖,我正在使用選項卡。在這裏,它正確顯示在我的MainActivity中,從此我移動到DetailsActivity。由此,如果我回來,谷歌地圖失去了重點。如果我觸摸視圖,則可見地圖。谷歌地圖在Android標籤中不可見

我正在使用以下內容。

XML

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

MainActivity

GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 
    bounds=new LatLngBounds(new LatLng(33.66554145358971, -117.90573209524155), 
         new LatLng(33.668909956981885, -117.89749503135681)); 
    map.setMyLocationEnabled(true); 
    BitmapDescriptor image = BitmapDescriptorFactory.fromResource(R.drawable.categorymap); 
        GroundOverlayOptions groundOverlay = new GroundOverlayOptions() 
        .image(image) 
        .positionFromBounds(bounds) 
        .transparency(0.1f) 
        .anchor(0.1f, 0.5f); 
        map.addGroundOverlay(groundOverlay); 
     map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(f_lat, f_lang), 18)); 
     map.getUiSettings().setZoomControlsEnabled(false); 



map.setOnMarkerClickListener(new OnMarkerClickListener() 
    { 
    @Override 
    public boolean onMarkerClick(Marker arg0) { 
    Intent intent=new Intent(getParent(),MapZoom_BigActivity.class); 
    Intent intent2=new Intent(intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); 
    View view = MapTab.group.getLocalActivityManager().startActivity("notification",intent2).getDecorView(); 
    MapTab.group.replaceView(view); 
    return true; 
        } 

       }); 

DetailsActivity

// i used the following code in my back button onclick 
    MapTab.group.onBackPressed(); 

所以,請指導我如何解決這個問題。

+0

「如果我觸摸視圖,然後映射可見」這是什麼意思?解釋更多 –

+0

當我來到該活動,谷歌地圖不可見(只顯示空的白色屏幕),如果我觸摸地圖視圖,然後地圖加載(地圖和標記加載) – koti

+0

然後你需要調用'setUpMapIfNeeded ();'爲你的地圖在你的活動中加載'onResume()'並在'Setup();'加載'Marker'方法 –

回答

0

要顯示在我的應用程序的地圖,我有:

 MapViewFragment mapView = MapViewFragment.newInstance(); 
     mapView.setRetainInstance(true); 

您可能需要調用,以顯示在地圖視圖(不知道你需要setRetainInstance)。