我的viewForAnnotation函数从未被调用过?

时间:2013-05-13 11:10:27

标签: iphone ios mapkit

我为自定义注释制作了这些代码:

    - (void)viewDidLoad

{

    [super viewDidLoad];
mapView.delegate=self;

    [self AddLocations];

    [self initiateMap];

......

这是我的addLocation函数:

-(id<MKAnnotation>)addAnnotationWithTitle: (NSString*) title coordinate:(CLLocationCoordinate2D)

Location imageName:(NSString*) imageName{

    CustomAnnotation *annotation = [[CustomAnnotation alloc]init];

    annotation.title = title;

    annotation.subtitle = @"This is a subtitle";

    [annotation setCoordinate:Location];

    annotation.imageName = imageName;



    return annotation;

}

和我的CustomAnnotation类:

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation{

    NSLog(@"Test");
    if([annotation isKindOfClass:[MKUserLocation class]]){
        return nil;
    }

    if([annotation isKindOfClass:[CustomAnnotation class]]){
        CustomAnnotation *customAnnotation = annotation;
        static NSString* annotationid = @"Annotation";
        MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:annotationid];
        if(!annotationView){
            annotationView = [[MKAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:annotationid];
            annotationView.canShowCallout = YES;
            annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        }else{
            annotationView.annotation = annotation;
        }
        annotationView.image = [UIImage imageNamed:customAnnotation.imageName];
        return annotationView;

    }
    return nil;
}

由于某种原因,从不使用viewForAnnotation函数。有人可以帮我从这里出去吗? 感谢

0 个答案:

没有答案