Sto sviluppando un'applicazione in cui voglio mostrare aerei immaginari che volano da e per gli aeroporti. Questa potrebbe non essere l'unica cosa che voglio rappresentare volare attraverso la mappa.Spostamento MKOverlayPathView scompare dietro le tessere
Per questo ho utilizzato il codice di esempio da LocationReminders (la sottoclasse MKOverlayPathView che hanno, ReminderCircleView) e lo ho collegato a un MKOverlay del mio rappresentante l'aereo. Questa classe si abbona per le notifiche KVO sulle proprietà di coordinate e raggi della classe di overlay e invalida il suo percorso ogni volta che c'è un aggiornamento.
L'overlay aggiorna la sua posizione a diversi fotogrammi al secondo e aggiorno anche il suo raggio in modo da poter simulare la prospettiva (non molto intelligente considerando che si tratta di un oggetto modello ma è comunque la soluzione migliore che ho trovato).
Sto utilizzando un percorso circolare semplice per il test.
Questa configurazione funziona correttamente. La vista di sovrapposizione viene aggiornata e si comporta correttamente, ridimensionando insieme alla mappa e tutto.
Il problema è che in un volo simulato l'overlay non verrà disegnato su alcune tessere, normalmente vicino alla destinazione. Sembra che il cerchio stia andando dietro a queste tessere.
Sono stato in grado di capire una cosa in questo problema: ogni volta che osservo il cerchio che non viene disegnato su alcune tessere se faccio lo zoom indietro il cerchio verrà disegnato correttamente. Lo zoom in o panning non risolve comunque nulla.
La mia teoria è che alcune delle tessere (o le loro mappe) non vengono contrassegnate per il ridisegno e quindi, solo ingrandendo posso forzare. Tuttavia, ritengo che non sia coerente con il fatto che lo zoom non sembra essere d'aiuto.
Non so se sto facendo qualcosa di sbagliato o se sto sbattendo contro un errore o qualcosa del genere. Ho usato invece le annotazioni e stava funzionando, ma con ciò ho perso la capacità di rappresentare un piano che si rimpicciolisce se si rimpicciolisce senza osservare me stesso la scala dello zoom.
Ho provato nelle versioni 5.1, 6.0 e 6.1 e il comportamento è lo stesso.