Вам необходимо создать делегата, который реализует протокол MKAnnotation :
@interface AnnotationDelegate : NSObject <MKAnnotation> {
CLLocationCoordinate2D coordinate;
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord;
@end
@implementation AnnotationDelegate
@synthesize coordinate;
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
coordinate.latitude = coord.latitude;
coordinate.longitude = coord.longitude;
return self;
}
@end
Для каждой из точек вашей карты вам необходимо создать один из ваших AnnotionDelegate объектов (передавая координаты точки) и добавить его в MKMapView :
AnnotationDelegate * annotationDelegate = [[[AnnotationDelegate alloc] initWithCoordinate:coordinate] autorelease];
[self._mapView addAnnotation:annotationDelegate];