2016-10-07 1 views
0

Ich versuche, meine OnMapReadyCallback als get map Async-Argument festzulegen. Aber Android mir sagen, dass es GoogleMap-Objekt benötigen, in der Dokumentation onMapReady() ist ungültig. Der folgende CodeInkompatibler Typ der onMapReady() - Funktion

private void initilizeMap() { 
    if (googleMap == null) { 
     googleMap = ((MapFragment) getFragmentManager().findFragmentById(
       R.id.map)).getMapAsync(this); 

     // check if map is created successfully or not 
     if (googleMap == null) { 
      Toast.makeText(getApplicationContext(), 
        "Sorry! unable to create maps", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    } 
} 

@Override 
public void onMapReady(GoogleMap map) { 
    map.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
    map.setTrafficEnabled(true); 
    map.setIndoorEnabled(true); 
    map.setBuildingsEnabled(true); 
    map.getUiSettings().setZoomControlsEnabled(true); 
} 

Antwort

1

getMapAsync nicht zurück ein GoogleMap Objekt (documentation). Sie können Ihre googleMap Objekt wie folgt initialisiert werden:

private void initilizeMap() { 
    ((MapFragment) getFragmentManager().findFragmentById(
      R.id.map)).getMapAsync(this); 
} 

@Override 
public void onMapReady(GoogleMap map) { 
    googleMap = map; 
    map.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
    map.setTrafficEnabled(true); 
    map.setIndoorEnabled(true); 
    map.setBuildingsEnabled(true); 
    map.getUiSettings().setZoomControlsEnabled(true); 
} 
+0

eindeutig eine Antwort, aber OP weiß nicht, was er will, aber die Karte Verweis zu erhalten und Asynchron-Funktion auch so alle etwas mehr Informationen über das nennen würden Ihren Beitrag zu Geck +1 –

+0

Dank steigern, i habe es notiert –

0

Sie diesen Code ausprobieren können.

private void initilizeMap() { 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
    // check if map is created successfully or not 
    if (googleMap == null) { 
     Toast.makeText(getApplicationContext(), 
       "Sorry! unable to create maps", Toast.LENGTH_SHORT) 
       .show(); 
    } 
} 

@Override 
public void onMapReady(GoogleMap map) { 
    googleMap = map; 
    map.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
    map.setTrafficEnabled(true); 
    map.setIndoorEnabled(true); 
    map.setBuildingsEnabled(true); 
    map.getUiSettings().setZoomControlsEnabled(true); 
} 
+0

eine Erklärung wäre hilfreich für OP-Kumpel –

Verwandte Themen