我有一个符合<MKAnnotation>的对象数组。
我使用addAnnotations:将此数组加载到注释中。

在方法中:

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


我每个引脚都使用以下方式加载自定义图像:

annotationView.image = [UIImage imageNamed:@"purp_pin.png"];


但是,我不希望所有引脚都加载该图像。我希望它根据符合<MKAnnotation>的对象具有的属性加载不同的自定义图像/标识符。

我该怎么做?

最佳答案

如果您的对象中有一些符合MKAnnotation的自定义属性,则可以在viewForAnnotation中访问它来设置图像的一种方式是这样的:

MyAnnotationClass *myAnnot = (MyAnnotationClass *)annotation;

if (myAnnot.someProperty == 42)
    annotationView.image = [UIImage imageNamed:@"purp_pin.png"];
else
    annotationView.image = [UIImage imageNamed:@"default.png"];


确保设置了image属性,而不管注释视图是否已出队或已创建。

10-08 07:29