iOS版谷歌地图标记上的弹跳动画?

我想在iOS上的Google Map Marker上使用Continuos Bounce动画。

[动画如下链接,点击标记 – >],

https://developers.google.com/maps/documentation/javascript/examples/marker-animations

我们可以在iPhone中实现这种反弹动画吗?

我正在创建带动画的标记,但我想连续使用弹跳效果制作标记。

GMSMarker *marker = [GMSMarker markerWithPosition:position]; marker.title = @"Delhi"; marker.zIndex=1; marker.icon=[UIImage imageNamed:@"marker_user.png"]; // This is Only AppearAniamtion marker.appearAnimation = kGMSMarkerAnimationPop; marker.infoWindowAnchor = CGPointMake(0.44f, 0.30f); marker.map = mapView_; 

我想在Google地图上添加标记,该标记将动画显示当前用户。 我无法像上面提到的链接那样获得精确的反弹动画,用于突出标记我用缩放动画做的替代方式。
喜欢这个 … 在此处输入图像描述

要获得这样的动画。 这样做

  GMSMarker *markerUser; NSTimer *timer; int imageScale; 

在地图上添加标记

  imageScale=15; CLLocationCoordinate2D position = CLLocationCoordinate2DMake(Userlat, Userlng); markerUser = [GMSMarker markerWithPosition:position]; markerUser.title = @"You are here"; markerUser.icon=[self image:[UIImage imageNamed:@"marker_user.png"] scaledToSize:CGSizeMake(25.0f,40.0f)]; // Initial Marker Size markerUser.appearAnimation = kGMSMarkerAnimationPop; markerUser.infoWindowAnchor = CGPointMake(0.44f, 0.30f); markerUser.map = mapView_; 

在地图上添加标记时启动计时器 ,并更改不同大小的标记图标。

  timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(targetMethod:) userInfo:nil repeats:YES]; 

每隔0.1秒就会触发tragetMethod,在这里你可以缩放图标图像并重新分配到标记图标

 -(void)targetMethod:(NSTimer *)timer { if (imageScale<30) { markerUser.icon=[self image:[UIImage imageNamed:@"marker_user.png"] scaledToSize:CGSizeMake(imageScale,imageScale*1.5)]; imageScale+=1; } else{ imageScale=15; markerUser.icon=[self image:[UIImage imageNamed:@"marker_user.png"] scaledToSize:CGSizeMake(imageScale,imageScale*1.5)]; } } 

这是扩展你的 UIImage方法

 - (UIImage *)image:(UIImage*)originalImage scaledToSize:(CGSize)size { //avoid redundant drawing if (CGSizeEqualToSize(originalImage.size, size)) { return originalImage; } //create drawing context UIGraphicsBeginImageContextWithOptions(size, NO, 0.0f); //draw [originalImage drawInRect:CGRectMake(0.0f, 0.0f, size.width, size.height)]; //capture resultant image UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); //return image return image; } 

这可以解决寻找这种动画的人的问题。

Interesting Posts