1

Ich habe eine Google Maps Android App mit Markern. Mein Problem ist, dass eine Markierung in der Mitte des Bildschirms nicht beim Zoomen bleibt. Es ist ein wenig schwer zu erklären, also hier ist ein Video: https://vimeo.com/202160109 Ich benutze Google Play Services 10.0.1. Mein erster Gedanke, dass dies ein Lib-Bug war, der mit einer transparenten Systemleiste zu tun hat, aber das gleiche Problem tritt auch bei fitsystemwindows="true" auf.Android Google Maps in der Mitte des Bildschirms springt beim Zoomen

Was kann ich tun, damit beim Zoomen ein Marker in der Mitte des Bildschirms bleibt?

+0

Danke für das Video. Bei einem Blick könnte es etwas damit zu tun haben, die beiden Marker (das Kreuz und das Zelt) so zu positionieren, dass sie nebeneinander liegen, ohne zu kollidieren. Gibt es Code dafür? – degs

+0

Danke für den Vorschlag, aber das Kreuz ist nicht Teil der Karte, es ist eine komplett separate Ansicht, die oben auf dem MapView gezeichnet wird. (Es ist ein Zentrum der Karte, ich weiß, dass es von der Mitte versetzt ist, was ein wenig verwirrend ist, aber es interagiert überhaupt nicht mit der Zeltkartenmarkierung.) – zyamys

+0

Sind die 'LatLng' der' Marker' und der ' LatLng' der Kameraposition genau gleich? – antonio

Antwort

0

Ich habe die Antwort gefunden - es ist ein Fehler in der Android Google Maps-Bibliothek. Der Fehler wird angezeigt, wenn Sie den MapView mit setPadding auffüllen. Wenn Sie keine Auffüllung festlegen, verhält es sich korrekt. Hoffentlich wird dies für jemand anderen nützlich sein, der auf dieses Problem stößt.

0

Ohne Code ist ziemlich unmöglich zu helfen, aber mit Blick auf Ihr Video könnte ich raten ... Wenn das Kreuz nicht in der Mitte ist, die LatLng der Marker und LatLng der Kamera sind die gleichen, dann ist es wahrscheinlich der Anker des Markers ..

wenn Sie einen Marker über Marker erstellen Sie den Ankerpunkt des Markers einstellen: https://developers.google.com/android/reference/com/google/android/gms/maps/model/MarkerOptions.html#anchor(float, float)

dass Marker gegeben, wenn Sie es wollen genau zentriert sein Sie müssen den Anker wie folgt setzen:

markeroptions.anchor(0.5f,0.5f); 

sollte es funktioniert dann

Verwandte Themen