Android Google Maps v2 Kameraanimation

8

Also ich bin mir nicht sicher, ob das ein Bug ist oder noch nicht ... könnte sein oder ich habe etwas verpasst.

Wie auch immer, hier ist der Link zu Google Maps V2 Camera Controls. Ссылка

Das Problem:

An einem bereits animierten Ort animieren, ruft onFinish ();

nicht auf

So replizieren Sie:

%Vor%

Dieses Problem tritt möglicherweise auf, wenn ein Benutzer zweimal auf etwas tippt, das die gleiche Animation aufgerufen hat, auch wenn es lange dazwischen liegt. onFinish wird nur für eine erfolgreiche Animation aufgerufen. Wenn die Kamera bereits positioniert ist, wird die onFinish-Methode nicht aufgerufen!

Ich könnte Kontrollen machen, bevor ich eine Kameraanimation mache, aber das mag ich nicht als verschwenderisch.

Jede Hilfe wäre willkommen. Danke.

    
Aiden Fry 11.02.2013, 16:32
quelle

4 Antworten

15

Ich habe das gleiche Problem, wenn ich die Kamera in die gleiche Position bewegen will, es scheint wie ein Fehler. Auch wenn alte und neue Position nicht gleich sind und der Unterschied so klein ist, zB: alte Position.Latitude = 94.54284009112, neue Position.Latitude = 94.54284003451, funktioniert es nicht. Meine Lösung ist, Werte zu kürzen, um nur old_position.latitude = new_position.latitude = 94.54 zu erhalten, dann mache ich einen Test.

Es gibt ein weiteres Problem mit der Kamera zu bewegen und die Karte gleichzeitig zu scrollen, dafür deaktiviere ich die Scroll-Geste vor dem Verschieben und aktiviere sie auf onFinish () und onCancel ().

%Vor%

Hoffe das hilft dir;)

    
user2245576 04.04.2013, 15:22
quelle
2

Sie sollten die Pixelentfernung überprüfen, nicht die geografische Entfernung:

%Vor%     
artkoenig 07.06.2014 11:28
quelle
0

Die einzige Lösung, die ich gefunden habe, besteht darin, die verschwenderischen Pixelwertüberprüfungen durchzuführen, ein falsches (aber nahes) CameraUpdate-Objekt einzurichten und einen verschachtelten AnimateCamera () -Aufruf mit dem falschen CameraUpdate durchzuführen und dann ein anderes cameraUpdate () innerhalb des ersten aufzurufen onFinish () mit dem korrekten CameraUpdate. Ich habe heute das Google MAP v2-Update installiert, aber es hat nicht geholfen. Dies ist ein Problem bei der Gerätedrehung für mich. Ich zeige Begrenzungsrechtecke an und der Zentroid ändert sich nicht bei Drehung, so dass animateCamera () nicht funktioniert und wenn das Gerät gedreht wird, kann das ausgewählte Rechteck teilweise vom Bildschirm abweichen.

Haben Sie schon eine andere Lösung gefunden? Danke

    
WigglyWorld 07.03.2013 07:45
quelle
-1

Hier ist eine weitere Problemumgehung:

Sie kennen die Animationsdauer Ihrer Kartenanimationen. So können Sie eine verzögerte Runnable mit einer Verzögerung der Animationsdauer + etwas Offset posten und dort können Sie überprüfen, ob der fertige / abgebrochene Listener aufgerufen wurde ... wenn nicht, können Sie ihn dort holen und den passenden Listener aufrufen

    
mAx 26.07.2013 09:04
quelle