2010-11-15 12 views
9

Tengo un MKOverlayView que muestra datos de radar animados como una serie de imágenes. El problema que tengo es que las imágenes de radar están cortadas en mosaicos por MapKit. Para intercambiar imágenes que he un temporizador que llama a una función de actualización que establece la imagen actual en mi capa y luego llama a los siguientesAnimar un MKOverlayView

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect]; 

Las actualizaciones de superposición, sino que lo hace una ficha a la vez, así que conseguir una animación entrecortada . ¿Alguna idea sobre cómo animar todas las fichas (es decir, intercambiar imágenes) al mismo tiempo?

+0

¿Alguna vez averiguar una forma goodf para hacer esto? –

Respuesta

6

Resolví esto agregando un UIImageView como una subvista de MKOverlayView.

  • animar, dejar de dibujar con el drawMapRect normales : zoomScale: InContext: (a través de un/flag propiedad variable de instancia) y sorteo para la UIImageView lugar (a la propiedad animationImages), entonces use startAnimating.

  • Puede manejar panorámica y de zoom por reinicializar el UIImageView en respuesta a MAPview: regionDidChangeAnimated :.

+2

Me estoy golpeando la cabeza en este también, ¿tiene algún código de muestra para compartir? Creo que no estoy estableciendo los marcos/límites correctos causando que el UIImageView no se muestre. – botteaap

+0

¿Tiene algún código de muestra que podría compartir? ¡Gracias! – sridvijay

+0

Pude usar este código aquí: https://github.com/yickhong/YHMapDemo y este código aquí: http://code.google.com/p/sugartin-info/downloads/detail?name=RadarOverLay. zip & can = 2 & q combinados para obtener el resultado descrito en esta respuesta. – sridvijay

0

¿Hay una devolución de llamada cuando todas las fichas han terminado de cargarse? Si es así, puede ir con doble almacenamiento en búfer y actualizar la vista fuera de pantalla, y luego cambiarla.