Я пытаюсь оживить некоторые маркера инициализирован с изображением следующего RMMarker *marker = [[RMMarker alloc] initWithUIImage:lImage anchorPoint:lPoint];
Оживляющие маркера аннотация на MapBox (IOS)
Я получаю статическое изображение на моей карте не проблемы. Теперь мне нужно, чтобы он был более заметным, чем другие аннотации, поэтому я хочу, чтобы он мигал.
Вот что я уже пробовал:
Создание шкалу анимации на аннотациях слое
[CATransaction begin];
[CATransaction setAnimationDuration:0.70];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
CABasicAnimation *bounceAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
bounceAnimation.repeatCount = MAXFLOAT;
bounceAnimation.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1, 1.1, 1.0)];
bounceAnimation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.8, 0.8, 1.0)];
bounceAnimation.removedOnCompletion = NO;
bounceAnimation.autoreverses = YES;
[layer addAnimation:bounceAnimation forKey:@"animateScale"];
[CATransaction commit];
Это работает хорошо, за исключением того, что мой взгляд выноски также мигает, как он разделяет тот же слой (и Mapbox помещается в анимацию во время режима отслеживания, что приводит к неправильной ориентации, так как при каждом изменении пользователя все равно перемещается).
Создание мигания анимации на аннотации слое
[CATransaction begin];
[CATransaction setAnimationDuration:0.60];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
opacityAnimation.repeatCount = MAXFLOAT;
opacityAnimation.fromValue = [NSNumber numberWithFloat:1.0];
opacityAnimation.toValue = [NSNumber numberWithFloat:0.3];
opacityAnimation.removedOnCompletion = NO;
opacityAnimation.autoreverses = YES;
[layer addAnimation:opacityAnimation forKey:@"animateOpacity"];
[CATransaction commit];
Это менее заметно, но ориентация аннотации правильно на этот раз. Тем не менее, у меня все еще есть мигающий вид на слое.
То, что я хочу сделать
я нужен способ, чтобы оживить изображение маркера, не затрагивая слой.
Лучшая анимация, которую я бы использовал, была бы первой, которую я пробовал, без проблемы вращения.
До сих пор я не мог анимировать UIImage, так как у него нет звонка addAnimation: forKey:
.
Я никогда не играл с анимацией, поэтому любая помощь или руководство будут оценены.
Да, я был вдохновлен тем, как вы анимируете аннотацию пользователя, чтобы попробовать оживить мои собственные аннотации. К сожалению, мне нужна аннотация, чтобы иметь выноску (я оживляю ее, чтобы показать пользователю информацию здесь, о которой он может захотеть узнать больше). В последнем случае это связано с вопросом, на который вы ответили [здесь] (http: // stackoverflow.com/questions/21754379/mapbox-annotation-layer-rotation-resets-on-map-zoom-or-move) (но мне непонятно, что нужно изменить) – user2700551