Ich hatte funktionierenden Code vor der Aktualisierung meiner SDK heute (für zukünftige Referenz auf das Fragedatum gefragt). .getMap
verwendet, um Warnungen zu geben, dass es veraltet war, aber jetzt wird es nicht einmal als gültige Eingabe erkannt. Ich gehe davon aus, dass dies wegen der neuen Version von API 24 (Android Nougat) passiert ist. Ohne weitere Umschweife hier ist der Code:Wie kann ich mein Projekt mit getMapAsync kompatibel machen?
private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag =
(MapFragment) getFragmentManager().findFragmentById(R.id.map);
mMap = mapFrag.getMapAsync();
}
return (mMap != null);
}
Wenn jemand mir helfen könnte, Änderungen integrieren .getMapAsync()
ich es wirklich schätzen würde.
Vielen Dank!
UPDATE: Hier ist der neue und aktualisierte Code nach in Antworten auf Anregungen suchen (dies ist nicht in der onCreate) -
private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFrag.getMapAsync(this);
}
return (mMap != null);
}
@Override
public void onMapReady(GoogleMap googleMap) {
if (googleMap != null) {
mMap = googleMap;
}
}
Haben Sie etwas versucht? Kannst du auf die Dokumentation verweisen und es ausprobieren und sehen, was passiert? – nasch
@nasch Ich habe versucht, '(GoogleMaps googlemaps)' in der leeren Klammer hinzuzufügen, aber es hat nicht funktioniert. – petnamedsteve
Warum hast du das gemacht? Die Dokumentation besagt, dass ein OnMapReadyCallback und keine GoogleMap übergeben werden soll. – nasch