使用谷歌地图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; }
[UIImage imageNamed:@“PulseRing.png”]中的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"];