我想在iOS上的Google地图标记上使用Continuos Bounce动画。
[动画如下链接,点击Marker - >],
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_;
答案 0 :(得分:1)
我想在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;
}
这可以解决寻找这种动画的人的问题。