Wie fügen Sie Google Map Marker, die außerhalb der onMapReady() in Android?
Habe ich die folgende Funktion zurückgibt, die mir den aktuellen Standort des Geräts:
void getCurrentLocation()
{
Location myLocation = map.getMyLocation();
if(myLocation!=null)
{
double dLatitude = myLocation.getLatitude();
double dLongitude = myLocation.getLongitude();
map.addMarker(new MarkerOptions().position(new LatLng(dLatitude, dLongitude))
.title("My Location").icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(dLatitude, dLongitude), 8));
}
else
{
Toast.makeText(this, "Unable to fetch the current location", Toast.LENGTH_SHORT).show();
}
}
aber einige Methoden zeigen, sind in rot wie Sie waren, nicht definiert:
Wie Sie feststellen können, diese Methoden sind im Zusammenhang mit der Karte, funktioniert es in onMapReady () - Funktion aber zeigen Sie es nicht erkannte. Warum ist das so? Welche Bibliotheken muss ich hinzufügen? Ich erkläre Karte wie diese:
private MapFragment map;
InformationsquelleAutor Rene Limon | 2015-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, was Ihre Allgemeine code-Struktur Aussehen sollte.
Der wichtige Teil ist, weisen Sie Ihren lokalen
map
Verweis auf die eine kehrte in dieonMapReady()
Rückruf.getCurrentLocation()
?Diese Art, die erste Lage ist veraltet, wenn Sie wollen, um den aktuellen Standort für eine Karte, schauen Sie hier: stackoverflow.com/questions/30253123/...
Danke, ich bin nicht in der Lage zu Holen Sie sich die aktuellen Speicherort in android-studio emulator-5554, ich verwendet
geo fix xxx xxxx
alle anderen Möglichkeiten, scheiterte aber.Es klingt, als ob du das schon gesehen: stackoverflow.com/questions/2279647/... ich würde empfehlen, mit einem echten Gerät zum testen location based code.....
Danke Daniel
InformationsquelleAutor Daniel Nugent
Warum verwenden Sie
Ihre Karte sollte vom Typ
Nur ändern
zu
und Holen Sie sich die anzeigen wie folgt:
Wird es funktionieren.
Aktualisiert die Antwort. Überprüfen Sie die Letzte Zeile.
eine Letzte Frage, getMap ist nicht veraltet?
Ja sorry, Es ist veraltet. Verwenden
getMapAsync()
undonMapReady()
gibt das map-Objekt und Es ist garantiertnot null
.tatsächlich, es kann nicht sein, onMapAsync da sind diferent Arten habe ich folgende Daniel Nugent Schritte
InformationsquelleAutor Karthik