2

次のコードがあります。

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

    MKPinAnnotationView *customAnnotationView=[[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:nil] autorelease];

    customAnnotationView.pinColor = MKPinAnnotationColorRed;
    customAnnotationView.animatesDrop = NO;
    customAnnotationView.canShowCallout = YES;

    UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    [rightButton addTarget:self action:@selector(annotationViewClick:) forControlEvents:UIControlEventTouchUpInside];

    customAnnotationView.rightCalloutAccessoryView = rightButton;

    return customAnnotationView;
}

このメソッドは、現在地の青い円の注釈を含む、マップビュー上のすべての注釈を変更します。カスタム注釈のみを変更し、現在の場所の注釈はそのままにしておきたいです。

これどうやってするの?

4

1 に答える 1

5

アノテーションが userLocation アノテーションの場合は nil を返します

if(annotation == mapView.userLocation){
    return nil;
}
于 2012-10-21T16:59:09.023 に答える