myLocationOverlay die Marke ändern
wie ändere ich die Standard-blauen animierten marker für MyLocationOverlay in google maps?
Du musst angemeldet sein, um einen Kommentar abzugeben.
wie ändere ich die Standard-blauen animierten marker für MyLocationOverlay in google maps?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schritt #1: Erstellen Sie eine Unterklasse von
MyLocationOverlay
.Schritt #2: Überschreiben
drawMyLocation()
und ziehen Sie den marker nach Belieben. Beachten Sie, dass diese Methode greift nicht nur die Markierung, aber "wenn der Benutzer die position bewegt, in der Nähe der Kante des Bildschirms, und wir haben gegeben einenMapController
in unser Konstruktor, wir werden Blättern zu zentriert die neue Lesart".Thx @CommonsWare, Sie führte mich in die richtige Richtung. Verbrachte eine Weile drehte mit diesem. In der Javadoc auf http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MyLocationOverlay.html ist einfach falsch (oder veraltet) und verwirrt mit Ihrem Gehirn, wo es heißt:
drawMyLocation
Dies ist völlig falsch. Erstens gibt es keinen solchen Konstruktor in der Klasse. Sekunde alle, drawMyLocation nur aufgerufen wird, wenn die aktuelle Position innerhalb der viewbounds, oder der Bildschirm ist verschoben. Also, wenn Sie erhalten einen neuen Standort, und Sie die Markierung nicht sichtbar ist, in diesem moment, es wird nicht neu gezeichnet werden. Das ist eine gute Sache im Allgemeinen, aber eine schlechte Sache, wenn Sie wollen, zu implementieren mc.animateTo in die Methode, um den Ort zentriert.
Dritte, sollten Sie sich nicht übergeben zu müssen, ein MapController, damit currentLocation, da Sie bereits über die mapView und bekommt der controller von ihm..
So landete ich Schreibe meine eigene Klasse, hält das zentrieren auf die aktuelle Position sobald die Position erreicht, die Grenze der mapView oder off-screen: