使用 Google map iOS SDK 我实现了一个 mapView 因为我创建了如下标记
// Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
marker.title = @"Sydney";
marker.snippet = @"Australia";
marker.icon = [UIImage imageNamed:@"point1.png"];
marker.map = mapView_;
但我需要显示动画图像,即要显示的一些图像序列,一个点周围的动画环,而不是原始的 GMSMarker
图像序列是point1.png point2.png point3.png point4.png point5.png
谁能帮我实现这个目标
最佳答案
在
- (RMMapLayer *)mapView:(RMMapView *)mpView layerForAnnotation:(RMAnnotation *)annotation
{
UIImageView *pulseRingImg = [[UIImageView alloc] initWithFrame: CGRectMake(-30, -30, 78, 78)];
pulseRingImg.image = [UIImage imageNamed:@"PulseRing.png"];
pulseRingImg.userInteractionEnabled = NO;
CABasicAnimation *theAnimation;
theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.scale.xy"];
theAnimation.duration=2.0;
theAnimation.repeatCount=HUGE_VALF;
theAnimation.autoreverses=NO;
pulseRingImg.alpha=0;
theAnimation.fromValue=[NSNumber numberWithFloat:0.0];
theAnimation.toValue=[NSNumber numberWithFloat:1.0];
pulseRingImg.alpha = 1;
[pulseRingImg.layer addAnimation:theAnimation forKey:@"pulse"];
pulseRingImg.userInteractionEnabled = NO;
[mapView addSubview:pulseRingImg];
[marker addSublayer:pulseRingImg.layer];
return marker;
}
PulseRing.png [UIImage imageNamed:@"PulseRing.png"]
是
获取引用:
ios - how to do a native "Pulse effect" animation on a UIButton
CABasicAnimation *theAnimation;
theAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"];
theAnimation.duration=1.0;
theAnimation.repeatCount=HUGE_VALF;
theAnimation.autoreverses=YES;
theAnimation.fromValue=[NSNumber numberWithFloat:1.0];
theAnimation.toValue=[NSNumber numberWithFloat:0.0];
[myButton.layer addAnimation:theAnimation forKey:@"animateOpacity"];
关于ios - 如何在 GMSMapView 上设置自定义注释标记(点周围的动画环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18529248/