使用谷歌地图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"];