Mapkit引脚颜色没有变化

4th*_*ace 3 iphone cocoa-touch mapkit

我正在做以下事情,总是得到绿色的针脚:

pin.pinColor = MKPinAnnotationColorRed;
        [self.mapView addAnnotation:pin];
        [pin release];
Run Code Online (Sandbox Code Playgroud)

pin的类型为"NSObject".所有引脚都是绿色的.我应该采用不同的方式吗?

小智 7

确保你的引脚类实现了MKAnnotation协议,并且我相信得到非标准的引脚颜色,你必须实现viewForAnnotation方法.

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
{
    MKPinAnnotationView *newAnnotation = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"redpin"];
    newAnnotation.pinColor = MKPinAnnotationColorRed;
    newAnnotation.animatesDrop = YES;
    newAnnotation.canShowCallout = YES;
    return newAnnotation;
}
Run Code Online (Sandbox Code Playgroud)