现在您正在使用通用 MKAnnotationView 对象。你想做什么不同的事情?
一个简短的答案是做这样的事情:
MKAnnotationView *myAnnotationView;
switch tmpAnnotation.type
{
case type1:
myAnnotationView= [[CustomAnnoation1 alloc] initWithAnnotation:tmpAnnotation
reuseIdentifier: type1ID];
case type2:
myAnnotationView= [[CustomAnnoation2 alloc] initWithAnnotation:tmpAnnotation
reuseIdentifier: type2ID];
default:
myAnnotationView= [[MKAnnotationView alloc] initWithAnnotation:tmpAnnotation
reuseIdentifier:PharmacyPinID];
}
NSString *chainString = tmpAnnotation.chain;
NSString *mapImage = [NSString stringWithFormat:@"map_icon_%@",chainString];
pinView.image = [UIImage imageNamed:mapImage];
上面的代码假设 tmpAnnotation 是一个自定义类型,它有一个属性类型告诉你你想要什么样的注解视图。(注解是您想要的任何符合 MKAnnotation 协议的对象,因此如果您愿意,它可以具有自定义属性。)
它还假设您有几个不同的自定义子类 MKAnnotationView 要使用。