我想在地图上设置动画我编写代码,但它什么也没做

时间:2013-11-21 16:47:22

标签: objective-c

-(MKAnnotationView *)GUmap:(MKMapView *)GUmap viewForAnnotation:(id <MKAnnotation>)annotation
{
MKPinAnnotationView *pinView =(MKPinAnnotationView *) [GUmap dequeueReusableAnnotationViewWithIdentifier:@"pinView"];


if (pinView==nil)
{
    pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"pinView"];
    pinView.pinColor= MKPinAnnotationColorRed;
    pinView.canShowCallout = YES;
    pinView.animatesDrop = YES;
    UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    pinView.rightCalloutAccessoryView = rightButton;
 }
else
{
   pinView.annotation = annotation;
}
return pinView;
}

这应该会激活我的指针,但是如果你解决了我的问题我就会感激不尽。

1 个答案:

答案 0 :(得分:0)

委托方法被错误地命名为GUmap:viewForAnnotation:,因此地图视图没有调用它,并且正在创建一个默认引脚,它不会为放置设置动画。

将方法声明更改为:

-(MKAnnotationView *)mapView:(MKMapView *)GUmap viewForAnnotation:(id <MKAnnotation>)annotation
                     ^^^^^^^

可以为内部参数名称使用不同的名称。

方法内部的代码很好。
您只需要为每个注释重置不同的属性(重复使用的视图将属性设置为首次创建后应用的值)。