-1

I want to load map fragment in a tabbed activity without showing it so I can start map fragment later without delay.
I have tried using getFragmentManager().findFragmentbyId() and getSupportFragmentManager().findFragmentbyId() none worked.

I have also tried returning SupportMapFragment.newInstance() from SectionPagerAdapter but then it replaces the whole page with map fragment which I do not want.

I have also tried

MapFragment mapFragment = MapFragment.newInstance();
          mapFragment.getMapAsync(new OnMapReadyCallback() {
                @Override
                public void onMapReady(GoogleMap googleMap) {
                    Log.d("intro", "onMapReady");
                }
            });

but that also doesn't work. Help me make this happen.

Shreeya Chhatrala
  • 1,441
  • 18
  • 33
lcukerd
  • 31
  • 5

1 Answers1

0

I did it. Create map Fragment dynamically then put that in a layout (FrameLayout in my case). Set Visibility of that layout as "gone".

        SupportMapFragment mapFragment = SupportMapFragment.newInstance();
        FragmentManager fm = getChildFragmentManager();
        fm.beginTransaction().replace(R.id.map1, mapFragment).commit();
        mapFragment.getMapAsync(new OnMapReadyCallback() {
            @Override
            public void onMapReady(GoogleMap googleMap) {
                Log.d("intro", "onMapReady");
            }
        }); 

in XML

<FrameLayout
    android:id="@+id/map1"
    android:visibility="gone"
    android:layout_width="1dp"
    android:layout_height="1dp"/>
lcukerd
  • 31
  • 5