J'expérimente la dernière version 1.2.1.2944 du SDK Google Maps pour iOS pour animer un fichier GMSGroundOverlay
. L'utilisateur a le contrôle sur la séquence d'images, donc l'utilisation d'une animation UIImage
n'est malheureusement pas une possibilité, donc je charge à UIImage
la volée. Le GMSGroundOverlay.icon
est défini sur le UIImage
qui est en cours de mise à jour.
Mis à part une utilisation élevée de la mémoire, il me semble avoir frappé une limitation en ce que chaque fois que j'essaie de superposer une UIImage
utilisation GMSGroundOverlay.icon
qui est supérieure à 1000px x 1000px, il se bloque. UIImage
Faire référence à 1000px x 1000px permet de contourner le crash.
Il me semble cependant que je devrais peut-être utiliser CATiledLayer
pour gérer l'image pour charger uniquement dans la mémoire et ensuite dans la propriété icon de GMSGroundOverlay
, mais est-ce que quelqu'un a déjà utilisé CATiledLayer
Google Maps pour le SDK iOS et séquencer des images sous forme d'animation GMSGroundOverlay
?
la source
Réponses:
J'ai eu cette réponse de pressinganswer.com, je pense que cela peut vous aider.
Comme actuellement je ne peux pas utiliser le keypath "position" pour l'animation, j'ai fini par l'animer en utilisant les keypaths "latitude" et "longitude" séparément.
Calculez d'abord les points et ajoutez-les à 2 tableaux séparés, un pour la valeur de latitude (y) et un pour la longitude (x), puis utilisez la propriété values dans CAKeyFrameAnimation pour animer. Créez 2 objets CAKeyFrameAnimation (1 pour chaque axe) et regroupez-les à l'aide de CAAnimationGroup et animez-les ensemble pour former un cercle.
Dans mon équation, je varie la longueur du rayon sur chaque axe afin de pouvoir également générer un chemin ovale.
la source