Turns out people are having the EXACT same issue you are having in Objective-C on StackOverflow:
http://stackoverflow.com/questions/2256177/how-to-move-a-mkannotation-without-adding-removing-it-from-the-map You can use this very same trick in MonoTouch. Jeff On Thu, Sep 15, 2011 at 12:53 PM, Jeff Stedfast <[email protected]> wrote: > Hi Chris, > > Reading the developer documentation on Apple's site for MKAnnotation, > this is what it says for setCoordinate: > > setCoordinate: > Sets the new center point of the annotation. > > - (void)setCoordinate:(CLLocationCoordinate2D)newCoordinate > Parameters > newCoordinate > The new center point for the annotation. > Discussion > Annotations that support dragging should implement this method to > update the position of the annotation. > > Availability > Available in iOS 4.0 and later. > Declared In > MKAnnotation.h > > > Calling setCoordinate() in Objective-C will not magically make your > annotation update its location on the screen. You'll have to use a > similar trick as to what I suggested to make it work in Objective-C as > well. > > To the best of my understanding, this method doesn't move the > MKAnnotation on the map like you seem to believe, it gets set by the > MKMapView when the user drags the annotation to another location. > > If I'm wrong, please provide me with some documentation explaining why > I'm wrong (preferably Apple documentation) or at least an Objective-C > program demonstrating it. > > Jeff > > On Thu, Sep 15, 2011 at 12:41 PM, Chris Hamblett <[email protected]> > wrote: >> Since the bug has been changed to resolved without actually solving the >> problem, I take this as a good reason that Objective-C will always have >> functions that cannot be done through MonoTouch. I guess I will be making >> the switch back to xCode. >> >> Sent from my iPhone >> >> On Sep 15, 2011, at 12:19 PM, "Jeff Stedfast" <[email protected]> wrote: >> >>> Hi Chris, >>> >>> I've taken a look at this and the problem is that once an >>> MKAnnotationView is created for your MKAnnotation subclass, you are >>> doing nothing to signal to the MKMapView that anything has changed. >>> Setting a new coordinate on your MKAnnotation subclass has no way of >>> notifying the parent MKMapView that it needs to redraw. >>> >>> Here's what I suggest you do: >>> >>> In your MKAnnotation subclass (MyAnnotation), add an event that gets >>> emitted when you set/change the coordinate. Then, have your >>> ViewController that owns the MKMapView listen for those events on each >>> of your MyAnnotations. When the event is emitted, have your >>> ViewController remove the annotation and re-add it. >>> >>> I tested this and it works. >>> >>> Jeff >>> >>> On Thu, Sep 15, 2011 at 9:26 AM, Chris Hamblett <[email protected]> >>> wrote: >>>> I've added self-contained sample code to Bug 724 >>>> bug 724 >>>> Any updates on a binding that sets off the MapView KVO flag? Is this fixed >>>> on a new development build? >>>> ~Chris >>>> _______________________________________________ >>>> MonoTouch mailing list >>>> [email protected] >>>> http://lists.ximian.com/mailman/listinfo/monotouch >>>> >>>> >> > _______________________________________________ MonoTouch mailing list [email protected] http://lists.ximian.com/mailman/listinfo/monotouch
