Чтобы установить цвет булавки, используйте свойство MKPinAnnotationView pinColor.
MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] init]
pin.pinColor = MKPinAnnotationColorGreen;
Для пользовательского изображения-аннотации установите свойство изображения как таковое.
UIImage *annImage = [UIImage imageNamed:@"AnnotationIcon.png"];
annView.image = annImage;
Обратите внимание, что свойство MKPinAnnotationView animateDrop не будет работать с пользовательскими изображениями. Хотя есть способ дублировать эту анимацию. См. Как анимировать падение MKAnnotationView?
Обновление
Поэтому, в сущности, вы делаете это, если хотите, чтобы вас выбрали с красного на зеленый.
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKPinAnnotationView *)view {
view.pinColor = MKPinAnnotationColorGreen;
}
- (MKAnnotationView *)mapView:(MKMapView *)aMapView
viewForAnnotation:(id)ann {
NSString *identifier = @"myPin";
MKPinAnnotationView *annView = (MKPinAnnotationView *)
[aMapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if (annView == nil) {
annView= [[[MKPinAnnotationView alloc] initWithAnnotation:ann
reuseIdentifier:identifier]
autorelease];
} else {
annView.annotation = ann;
}
// you can define the properties here.
return annView;
}