2012-12-10 9 views
6

Ho aggiornato RawMapViewDemoActivity.java nell'app campione di Google Maps v2 per creare a livello di codice un MapView ma la mappa non viene visualizzata. Ho solo una schermata vuota.Android creato a livello di codice MapView v2 non viene visualizzato

ho sostituito

mMapView = (MapView) findViewById(R.id.map); 

con

GoogleMapOptions options = new GoogleMapOptions(); 
    options.camera(new CameraPosition(new LatLng(0, 0), 15, 0, 0));   
    mMapView = new MapView(this, options); 
    mMapView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));   

Che cosa sto facendo di sbagliato?

+1

Eventuali errori registrati ovunque? – Ren

risposta

2

Hai inoltrato tutti i metodi del ciclo di vita al nuovo MapView?

mMapView.onCreate(savedInstanceState); 

Date un'occhiata al API Reference

+0

Greeny, grazie per la risposta. Sì, ho utilizzato la fonte dall'app di esempio che inoltra tutti i metodi del ciclo di vita. Penso che potrebbe essere un semplice problema di layout. Continuerò a scavare. – whenrybruce

+0

Hai aggiunto MapView al layout dopo averlo creato con 'mMapView = new MapView (this, options);'? Provare 'setContentView (mMapView)' – Greeny

+0

Grazie guadagnare Greeny ma questo non lo ha fatto. Vedi la mia risposta per maggiori dettagli. – whenrybruce

1

dispiace - Ho fissato questo qualche tempo fa, ma ha dimenticato di inviare la risposta.

Sembra che un MapView deve essere inserito in un contenitore di layout prima che venga visualizzato correttamente. Il seguente frammento mostra ciò che ho fatto per far funzionare il campione.

LinearLayout linearLayout = new LinearLayout(this); 
GoogleMapOptions options = new GoogleMapOptions(); 
options.camera(new CameraPosition(new LatLng(0, 0), 1, 0, 0));   
mMapView = new MapView(this, options); 
linearLayout.addView(mMapView); 
setContentView(linearLayout);   
Problemi correlati