2010-10-02 17 views
5

Aby przenieść niestandardowe adnotacje w mojej klasie MKMapView, najpierw usuwam wszystkie adnotacje i dodawam je (które są umieszczane w nowych lokalizacjach) co sekundę. Doskonale działał na iOS 3, ale kiedy zaktualizowałem system operacyjny i kod XCode do wersji 4.0, adnotacje mrugają, zamiast gładkiego ruchu, jaki mieli wcześniej w poprzedniej wersji.Płynny ruch adnotacji na OS 4

Jak utrzymać ten płynny ruch?

+0

Co w przypadku przeczucia, jeśli ponownie dodasz adnotację bez jej usuwania? Jeśli masz szczęście, MKMapView zauważy, że próbujesz dodać to samo dwa razy i ponownie załadować współrzędne ... –

+0

Próbowałem, ale jeśli ponownie użyję tych samych adnotacji, zmień szerokość i długość geograficzną i dodaj je (ponownie) do MKMapView, obiekty w ogóle się nie poruszą. Wygląda na to, że po dodaniu adnotacji do MKMapView nie zostanie ona zaktualizowana. – Pooya

Odpowiedz

0

Prawdopodobnie jest to złe obejście i więcej wysiłku niż potrzeba, ale to powinno działać:

  1. Get UIImage przez renderowanie starego MKMapView do bitmapy: Rendering UIView with its children
  2. reklamowej UIImage nad widoku mapy .
  3. Zmiana adnotacji (użytkownik nie widzi migotania, ponieważ obraz pokrywa widok mapy)
  4. Po zakończeniu mrugnięcia szybko zanikaj obraz. Nie jest to doskonałe przejście, ale lepsze niż nic.
+0

To może być dobre rozwiązanie zależy od aplikacji. Niestety, w moim, użytkownik powinien móc przesuwać/powiększać mapę podczas poruszania się obiektów. Powyższe rozwiązanie może powodować poważne problemy z wydajnością. – Pooya

+0

Właściwie to staram się stworzyć grę opartą na lokalizacji, w której użytkownik może zbierać monety, uciekać przed poruszającymi się potworami, .... – Pooya