Я уже проверил много вопросов в StackOverflow, но ни один из них не помог мне.
Я занимаюсь разработкой приложения для iPad.Я создал все интерфейсы в раскадровке.
Для своего проекта я создал один контроллер представления и соответствующие файлы .h .m и связал их.Затем я добавил MKMapView внутри контроллера представления, после чего я сослался на mapView в файле контроллера представления с помощью Interface Builder.Я создал кучу точек и показал их на карте.
Все было идеально, пока я не решил сменить цвет булавки.Я последовал примеру MapCallout с сайта Apple Developer.Затем я создал пользовательский класс точек аннотации, как вы видите ниже
Файл CustomMKAnnotation.h
@interface CustomMKAnnotation : NSObject <MKAnnotation>
{}
Файл CustomMKAnnotation.m
@implementation CustomMKAnnotation
- (NSString *)title {return @"title";}
- (NSString *)subtitle{return @"subtitle";}
- (CLLocationCoordinate2D)coordinate;{
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = some latitude;
theCoordinate.longitude = some longitude;
return theCoordinate;
}
@end
Здесь мой класс viewcontroller
Файл MapHolderViewController.h
@interface MapHolderViewController : UIViewController<MKMapViewDelegate>
{
NSMutableArray *mapAnnotations;
}
@property (nonatomic,retain) IBOutlet MKMapView *myMap;
@property (nonatomic, retain) NSMutableArray *mapAnnotations;
-(void) addLatLong;
@end
Файл MapHolderViewController.m
@implementation MapHolderViewController
@synthesize myMap;
@synthesize mapAnnotations;
-(void) addLatLong{
// I am adding annotations here
}
- (MKAnnotationView *)myMap:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
// This function has never been called.
}
@end
Я ссылался на выход делегата из MKMapView в ViewController.Я также установил myMap.delegate = self;в файле MapHolderViewController.m, но он тоже не работает.
Любое понимание приветствуется.