views:

90

answers:

2

As far as I know, there isn't a way to move an annotation without removing & readding it to the MapView (Maybe I"m wrong?).

Is there a way to prevent the MapView from being redrawn between removing & readding the annotation? Right now the redraw after removing the annotation causes a frame without the annotation, so it appears to flicker.

I need a solution that works in iOS 3.1 updates.

Thanks

+1  A: 

in iOS4

[theAnnotation setCoordinate:newCoordinate];
eliego
Thanks! Looks good. I really need a solution that works in iOS 3.1 though. I've edited the question to clarify that.
Christopher Stott
+1  A: 

For 3.1 you'll have to hack. I'd see two possibilities, either trying to force change the coordinates of the current annotation by lurking around in the header files and accessing the memory directly, or fiddling with UIWindow and graphic contexts to try to avoid the drawing done in next runloop cycle to actually reach the screen.

Edit: a third alternative, which might be the easiest, is to do your own lightweight annotation implementation outside of MapKit..

eliego