Reibungsloses Animieren eines Kamerapfads in einer Kartenansicht

8

Ich verwende mein MapView (neues API v2) mit einer Liste von Punkten, die zu einer Route gehören. Sie sind ziemlich nah beieinander. Mein Problem ist, wenn ich die Animationsschritte aufrufen

%Vor%

Der Kameramann benimmt sich wie ein unerschrockener Grashüpfer und schwingt übertrieben aus, und dabei bekommt der Dia-Cache @ ## @ # @ #!

Was ist der beste Ansatz, um einen Pfad zu animieren und ein einheitliches Scroll-Erlebnis zu erhalten? Geschwindigkeit ist kein Problem, ich würde niedrige Geschwindigkeit verwenden, ich interessiere mich für die Sanftheit ...

Ich wäre mehr als glücklich, wenn ich einen Pfad simulieren könnte, den ich mit dem Finger mache. Weil sich die Karte schön verhält und viele Kacheln im Cache hat. Aber jeder Versuch, die Karte programmatisch zu verschieben, führt zu einer fetten Animation, einem weißen Bildschirm und dem erneuten Laden von Kacheln ...

Vielen Dank im Voraus !!!

    
rupps 12.06.2013, 16:03
quelle

2 Antworten

1

Nun, ich hoffe, dass jemand eine bessere Antwort liefert, aber mit den vielen Experimenten, die ich gemacht habe, war ich nicht in der Lage, eine anständige glatte Schriftrolle mit animateCamera zu bekommen.

Unabhängig davon, ob man nur die Breite / Länge der Punkte ändert, die nahe beieinander liegen, macht der Kameramann immer wieder beeindruckende Starts und Landungen.

Ich hatte einen begrenzten 'el-cheapo' Animationserfolg mit der folgenden Routine:

%Vor%

Diese Routine, die mit Millisekunden in den 10000s aufgerufen wird, geht zu einem Punkt und macht dann eine Überfluganimation in zufälliger Richtung, um den verdammten Zoom ruhig zu halten. Da die Pixelwerte sehr klein sind, ist es wahrscheinlich alles zwischengespeichert.

Jemand mit einer besseren Lösung? Ist es sinnvoll oder möglich, Touch-Ereignisse zu injizieren, um einen "berührten" Fling zu simulieren?

    
rupps 17.06.2013, 04:28
quelle
4

Ich habe festgestellt, dass die Verwendung des optionalen Callbacks als abschließender Parameter zur Manifestierung einer rekursiven Lösung für eine flüssige Animation sorgt. Dieser Code zoomt heran, ändert den Winkel für einen Panorama-Dreh und zoomt dann erneut hinein; es mag es jedoch nicht, wenn die Anfangsparameter und der anfängliche Rückruf identisch sind; Ich bin mir sicher, dass es einen besseren Weg gibt, die Rekursion aufzurufen, aber hoffentlich kann Ihnen das eine Idee geben, wie Sie funktional animieren können:

%Vor%     
anthropic android 16.08.2013 00:12
quelle