Спасибо за ваш вопрос и ответ.Основная идея здесь - переписать GMSMarker.iconView с помощью UIImageView, отображающего изображение Gif
. Я использовал вашу идею для моих реализаций, которые могут быть немного сложнее, чем ваш ответ, но не использовал 3-ю библиотеку
Во-первых,Я экспортирую изображение gif в последовательность изображений png этим инструментом https://onlinepngtools.com/convert-gif-to-png
Затем я создаю UIImageView, который анимирует эти PNG
UIImageView * gifImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 24, 24)];
gifImageView.animationImages = @[ [UIImage imageNamed:@"gifToPngFrame01"]
,[UIImage imageNamed:@"gifToPngFrame02"]
,[UIImage imageNamed:@"gifToPngFrame03"]
,[UIImage imageNamed:@"gifToPngFrame04"]
,[UIImage imageNamed:@"gifToPngFrame05"]
,[UIImage imageNamed:@"gifToPngFrame06"]
,[UIImage imageNamed:@"gifToPngFrame07"]
,[UIImage imageNamed:@"gifToPngFrame08"]
,[UIImage imageNamed:@"gifToPngFrame09"]
,[UIImage imageNamed:@"gifToPngFrame10"]
,[UIImage imageNamed:@"gifToPngFrame11"]
,[UIImage imageNamed:@"gifToPngFrame12"]
,[UIImage imageNamed:@"gifToPngFrame13"]];
gifImageView.animationRepeatCount = 0;
gifImageView.animationDuration = 1;
CLLocationCoordinate2D position2 = CLLocationCoordinate2DMake(21.033333, 105.87);
GMSMarker *gifMarker = [GMSMarker markerWithPosition:position2];
gifMarker.iconView = gifImageView;
gifMarker.map = mapView;
gifMarker.groundAnchor = CGPointMake(0.5, 0.5);
[mapView animateToLocation:position2];
[gifImageView startAnimating];
Этот код использует цель c.Но я думаю, что это может дать дополнительную пользу другим по этой теме