mapas do Android param de responder após retomar o fragmento

Listado abaixo está o meu código básico para controlar os mapas. Eu faço algumas coisas muito avançadas depois. Tudo parece funcionar perfeito, atéonResume().

Aqui está o layout, você navega pelo aplicativo em uma única atividade, com vários fragmentos. estemapFragment está contido dentro de um fragmento. Isso funciona bem. No entanto, quando eu adiciono outro fragmento e empurro este na pilha de trás, quando eu volto para ele mais tarde, o mapa não responde.

Eu tentei consertar isso movendo minha chamada parasetupMaps(); noonResume(), no entanto isso causougMaps para ser nulo quando eu recebê-lo degMaps = mapFragment.getMap(); nosetViews().

Como devo lidar com isso?

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        root = inflater.inflate(R.layout.fragment_maps, container, false);

        setupMaps();
        return root;
    }

    private void setupMaps()
    {
        gMaps = null;
        fm = getActivity().getSupportFragmentManager();

        mapFragment = SupportMapFragment.newInstance();
        android.support.v4.app.FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
        transaction.add(R.id.flMapContainer, mapFragment).commit();

    }


    @Override
    public void onResume()
    {
        super.onResume();

        mapFragment.onResume();
        setViews();
    }

    private void setViews()
    {
        gMaps = mapFragment.getMap();
        getData(); // initializes overlays, markers, polygons etc.
    }

    @Override
    public void onPause()
    {           
        mapFragment.onPause();
        super.onPause();
    }

questionAnswers(3)

yourAnswerToTheQuestion