WoodenKitty
WoodenKitty

Reputation: 6529

(iPhone) how to implement draggable pins using OS 4.0 MapKit?

Can anyone provide any sample code/instructions for implementing draggable pins in OS 4.0 using the MapKit framework?

Upvotes: 10

Views: 5663

Answers (2)

Joost Schuur
Joost Schuur

Reputation: 4482

Check out MapKitDragAndDrop by Ching-Lang Huang and the author's accompanying blog post.

Upvotes: 1

WoodenKitty
WoodenKitty

Reputation: 6529

Sure thing buddy (yes I'm talking to myself),

In your custom annotation add:

@property (nonatomic, readwrite, assign) CLLocationCoordinate2D coordinate; 

This satisfies the requirement of implementing setCoordinate, as mentioned inhttp://developer.apple.com/iphone/library/documentation/MapKit/Reference/MKAnnotationView_Class/Reference/Reference.html#//apple_ref/occ/instp/MKAnnotationView/draggable

In your MapView delegate add:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState 
{
//..Whatever you want to happen when the dragging starts or stops
}

and in your AnnotationView set draggable to true, so for example:

customAnnotationView.draggable      = YES;

I think that was everything that I did to get it working. Tell me if you have troubles.

Upvotes: 14

Related Questions