【问题标题】:MKPinAnnotationView custom imageMKPinAnnotation查看自定义图片
【发布时间】:2012-04-27 21:30:27
【问题描述】:

我想在地图上设置自定义图像而不是普通图钉。我还希望它能够被打开并为每个添加动画。

有什么建议吗?

编辑:这就是我所拥有的一切

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(ActivityAnnotation *)annotation
{
    static NSString* AnnotationIdentifier = @"AnnotationIdentifier";
    MKPinAnnotationView* pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier];
    pinView.animatesDrop=YES;
    pinView.canShowCallout=YES;
    UIImage *image = [UIImage imageNamed:@"Map_Pin"];
    pinView.image = image;
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.frame = CGRectMake(-2.5,6,27,30);
    [pinView addSubview:imageView];
    UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    rightButton.tag = [activities indexOfObject:annotation.activity];
    [rightButton addTarget:self action:@selector(showDetails:) forControlEvents:UIControlEventTouchUpInside];
    pinView.rightCalloutAccessoryView = rightButton;

    return pinView;
}

一切正常,但原始图钉一直显示在我的默认图像后面。我怎样才能删除它?

【问题讨论】:

    标签: iphone objective-c mapkit mkpinannotationview


    【解决方案1】:

    尽量不要使用 MKPinAnnotationView,而是使用 MKAnnotationView。 MKPinAnnotationView 默认显示一个图钉,只允许您自定义颜色(如果我没记错的话)。 MKAnnotationView 允许自定义 pin 图像。

    【讨论】:

    • 是的,但是如果我使用 MKAnnotationView,如何制作 animatesDrop 动画?
    • 然后你必须自己用一个drop来做动画。计算地图的顶部坐标有点烦人,不过是帧位置上的简单动画。
    • gist.github.com/2399387 这个要点是我如何使用自定义动画删除 MKAnnotationViews 的示例。
    • 我有相反的问题。错过了 MKPinAnnontationView。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多