Como sei que o mapa está pronto para ser usado ao usar o SupportMapFragment?

NoonCreate método, estou fazendo uso doSupportMapFragment para mostrar um mapa.

    SupportMapFragment fragment = new SupportMapFragment();
    getSupportFragmentManager().beginTransaction()
            .add(android.R.id.content, fragment).commit();

Em conjunto com isso, gostaria de adicionar um marcador. O problema é quando a chamada paragetMap é nulo, quando posso tentar novamente? Existe algum evento para o qual eu possa me inscrever ou a minha abordagem é errada?

    mMap = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap();
    if(mMap == null)
        //what do I do here?

Na verdade, o mapa está sendo exibido no telefone, mas parece que não estou tendo sorte em obter a referência para adicionar marcadores.

ATUALIZAR:

A razão pela qual eu estava criando oSupportMapFragment através do construtor é porque o típicosetContentView estava batendo e não funcionou. Isso me colocou na situação em que eu não conseguia obter minha referência noonCreate método desde que eu estava de fato criando oSupportMapFragment naquela hora. Em uma investigação mais aprofundada, parece que meusetContentView A questão era um subproduto de não ter tanto o jar do Google-play-services como o module / src configurado como parte do projeto geral. Ao fazer ambos,setContentView agora funciona e eu posso obter a referência viagetMap() como eu esperaria.

lots.xml ...

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/map"
          android:name="com.google.android.gms.maps.SupportMapFragment"
          android:layout_width="match_parent"
          android:layout_height="match_parent" />

LotsActivity.java ...

public class LotsActivity extends FragmentActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lots);

        GoogleMap mMap;
        mMap = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap();
        if(mMap == null)
            //this should not occur now
    }

questionAnswers(7)

yourAnswerToTheQuestion