2010-11-15 14 views
9

Possiedo un MKOverlayView che visualizza i dati del radar animato come una serie di immagini. Il problema che ho è che le immagini radar sono tagliate a pezzi da MapKit. Per scambiare immagini che ho un timer che chiama una funzione di aggiornamento che imposta l'immagine corrente nel mio sovrapposizione e quindi chiama i seguentiAnimazione di un MKOverlayView

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect]; 

Gli aggiornamenti di sovrapposizione, ma lo fa una tessera alla volta in modo da ottenere un'animazione mosso . Qualche idea su come rendere tutte le tessere animate (cioè le immagini di scambio) allo stesso tempo?

+0

Hai mai trovare un modo goodf per fare questo? –

risposta

6

Ho risolto questo problema aggiungendo UIImageView come sottoview di MKOverlayView.

  • animare interrompere il disegno con il normale drawMapRect: zoomScale: InContext: (tramite un/flag Proprietà variabile esempio) e disegno per UIImageView invece (per proprietà animationImages), quindi usa startAnimating.

  • È possibile gestire panning e zoom dal reinizializzazione del UIImageView in risposta a MapView: regionDidChangeAnimated :.

+2

Anche io sto sbattendo la testa, hai qualche codice di esempio da condividere? Penso di non aver impostato correttamente i frame/bound causando la visualizzazione di UIImageView. – botteaap

+0

Avete qualche codice di esempio da condividere? Grazie! – sridvijay

+0

Sono stato in grado di utilizzare questo codice qui: https://github.com/yickhong/YHMapDemo e questo codice qui: http://code.google.com/p/sugartin-info/downloads/detail?name=RadarOverLay. zip & can = 2 & q combinati insieme per ottenere il risultato descritto in questa risposta. – sridvijay

0

C'è una richiamata quando tutte le tessere hanno completato il caricamento? In tal caso, è possibile procedere con doppio buffering e aggiornare la visualizzazione offscreen e quindi attivarla.