Mapa v2 SupportMapFragment dentro de Viewpager

Fondo

He agregado exitosamente el nuevo mapa api v2.0 a un ViewPager y el mapa se carga bien. Estoy usando el FragmentViewPager. Sin embargo, tengo problemas cuando intento agregar marcadores, ya que no puedo obtener el Fragmento por la etiqueta, ya que el ViewPager que estoy usando proviene de la biblioteca de compatibilidad y está definido en XML, y esto "me oculta" la etiqueta.

La pregunta

¿Cómo puedo cargar el nuevo mapa v2 con marcadores?SupportMapFragment en unaViewPager que usa unFragmentPagerAdapter.

Mi intento

Así que, en mi opinión, pensé que podría crear una solución elegante al extender SupportMapFragment en una nueva clase que haga lo siguiente:

Agrega un nuevo constructor que tomaGoogleMapOptions yList<MarkerOptions> . Esto llama efectivamente al constructor existente que solo tomaGoogleMapsOptions y luego almacenar mi lista de marcadores dentro de una propiedad privada de la nueva clase.AnularGetMap() - Verifique si es nulo y si no está agregando los marcadores al mapa que cargamos anteriormente en el mapa y finalmente devuélvalo.

Mi opinión fue que mi extensión podría ser altamente reutilizable y resumir cualquier mapa relacionado con un lugar y permitir que mis actividades creen el nuevo MapFragment denewInstance(myGoogleMapOptions, myMarkers).

Ok, entonces el problema. La parte 1 parece funcionar bien, sin embargo, durante la depuración no puedo hacer que se llame al método GetMap () anulado. De hecho, he intentado anular la mayoría de los métodos habituales que tienen los fragmentos y ninguno de ellos es llamado. ¿Hay algo extraño en el SupportMapFragmemt? Traté de encontrar la fuente para que no sirviera de nada para comprobarlo por mí mismo.

Actualizar

Me di cuenta por qué no me llamaban mis métodos anulados. Fue porque estaba devolviendo el estandarte.SupportMapFragment más bien queMyMapFragment. Dicho esto, no puedo llamar a super desde un método estático y no puedo convertir desde una clase base a una clase derivada sin excepción.

Editar Aqui esta la clase

public class MyMapFragment extends SupportMapFragment {

    private static List<MarkerOptions> mMarkers;

    public static SupportMapFragment newInstance(GoogleMapOptions options, List<MarkerOptions> markers)
    {
        SupportMapFragment fragment = newInstance(options);

        mMarkers = markers;

        return fragment;

    }

            //have tried Overriding several methods including getMap()...

    @Override
    public void onResume ()
    {
        GoogleMap mMap = super.getMap();
        //add the markers
        if(mMap != null)
        {
            for(MarkerOptions marker : mMarkers)
            {
                mMap.addMarker(marker);
            }
        }

    }

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta