Ich habe das benutzerdefinierte Annotationsbild für den aktuellen Standort des Benutzers geladen. Ich aktualisiere den aktuellen Benutzerstandort alle 1 Sekunde im Hintergrund.
%Vor%Nach Aktualisierung der aktuellen Länge und Länge aktualisiere ich die Karte mit folgendem Code
%Vor%Aber jedes Mal, bevor das benutzerdefinierte Annotationsbild zur Karte hinzugefügt wird. Wie vermeidet man diesen Flimmereffekt?
Ich habe das noch nicht getestet, aber basierend auf einem kurzen Blick auf Ihren Code würde ich vermuten, dass das Problem darin liegt, dass Sie die Annotation entfernen und dann eine neue hinzufügen.
Haben Sie versucht, nur die Eigenschaften der bereits angehängten Anmerkung zu bearbeiten?
%Vor%Hinweis: Apple Docs rufen die Methode 'setCoordinate' ausdrücklich auf, um das Ziehen oder häufige Aktualisierungen zu unterstützen.
Sie dürfen die Anmerkung nicht aus der Karte entfernen. Ändern Sie stattdessen die Annotationskoordinate im UIView beginAnimations-commitAnimations-Block;
Es sieht ungefähr so aus:
%Vor%Es wird die Annotation reibungslos verschoben.
BR, Marcin Szulc
Tags und Links iphone ios4 mkmapview mkmapviewdelegate mkpinannotationview