Eventuali duplicati:
How do I know the map is ready to get used when using the SupportMapFragment?Google Play Servizio - SupportMapFragment.getMap() sempre tornare nulla
Attualmente sto testando l'API V2 nuove mappe ma sto davvero avendo difficoltà a raggiungere per funzionare correttamente.
Il mio problema è che getMap() restituisce sempre null.
Ho testato positivamente la chiamata in 3 punti diversi:
- onCreate()
- onResume()
- in un gestore che si chiama alcuni secondi dopo che la mappa è già visibile sullo schermo
Ecco il codice:
public class MapActivity extends FragmentActivity {
private SupportMapFragment mMapFragment;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setupMap();
}
@Override
protected void onResume() {
super.onResume();
setupMap();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
setupMap();
}
}, 5000);
}
private void setupMap() {
if (getSupportFragmentManager().findFragmentById(R.id.fragment) == null) {
mMapFragment = CustomMapFragment.newInstance();
getSupportFragmentManager().beginTransaction()
.add(R.id.map_wrapper, mMapFragment).commit();
}
GoogleMap map = mMapFragment.getMap();
if (map != null) {
mMapFragment.getMap().getUiSettings().setZoomControlsEnabled(true);
mMapFragment.getMap().getUiSettings().setZoomGesturesEnabled(true);
mMapFragment.getMap().setMyLocationEnabled(true);
}
}
Qualcosa che sto facendo male?
che in effetti è, un peccato che non ho trovato che domande via la funzione di ricerca :(Io posto la mia soluzione campione come una risposta Grazie CommonsWare – Goddchen
In primo luogo, ciò che tipo di dispositivo su cui si stava eseguendo questo codice? Dispositivo fisico o emulatore (che potrebbe non aver installato Play Services) –