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; }
这可以解决寻找这种动画的人的问题。