MapView自定义Pin图像问题

时间:2013-09-02 07:51:49

标签: ios mkmapview mkannotation mkpinannotationview

我已经改变了我的MapView引脚图像,但是我遇到了这个问题,有些问题不会改变引脚图像,有些会改变。问题出在哪里?我添加了一个例子。

我的代码:

- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
MKPinAnnotationView *pinAnnotation = nil;

MKAnnotationView *pinView = nil;


if(annotation != locationMap.userLocation)
{
    static NSString *defaultPinID = @"myPin";

    pinAnnotation = (MKPinAnnotationView *)[locationMap dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
    if ( pinAnnotation == nil )
        pinAnnotation = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];

    pinAnnotation.canShowCallout = YES;
    pinAnnotation.animatesDrop = YES;
    pinAnnotation.enabled = YES;
    //pinAnnotation.image = [UIImage imageNamed:@"pin.png"];

    pinView.image = [UIImage imageNamed:@"pin.png"];


    UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    pinAnnotation.rightCalloutAccessoryView = infoButton;
    }
    return pinAnnotation;

    return pinView;

}

Add image that show the issue

1 个答案:

答案 0 :(得分:3)

使用常规MKAnnotationView,而不是MKPinAnnotationView子类。即使您可以设置图像,也不能保证它会粘住,因为它可以并且会再次将引脚图像设置回来。