Estou testando o SDK do Google Maps para iOS versão 1.2.1.2944 mais recente para animar a GMSGroundOverlay
. O usuário tem controle sobre a sequência de imagens, então UIImage
, infelizmente, usar uma animação não é uma possibilidade, então estou carregando na UIImage
hora. O GMSGroundOverlay.icon
é definido como o UIImage
que está sendo atualizado.
Além do alto uso de memória, parece que encontrei uma limitação: sempre que tento sobrepor um UIImage
uso GMSGroundOverlay.icon
com mais de 1000px x 1000px, ele trava. Fazer referência a UIImage
1000px x 1000px contorna a falha.
No entanto, me ocorre que talvez eu deva utilizar CATiledLayer
para manipular a imagem para carregar apenas na memória e, posteriormente, na propriedade icon de GMSGroundOverlay
, mas alguém já teve alguma experiência de uso CATiledLayer
com o Google Maps para iOS SDK e sequenciamento de imagens como uma animação GMSGroundOverlay
?
fonte
Respostas:
Recebi esta resposta em pressanswer.com, acho que pode te ajudar.
Como atualmente não posso usar o caminho-chave "position" para animar, acabei fazendo a animação usando os caminhos-chave "latitude" e "longitude" separadamente.
Primeiro calcule os pontos e adicione-os a 2 matrizes separadas, uma para o valor de latitude (y) e outra para longitude (x) e, em seguida, use a propriedade de valores em CAKeyFrameAnimation para animar. Crie 2 objetos CAKeyFrameAnimation (1 para cada eixo) e agrupe-os usando CAAnimationGroup e anime-os para formar um círculo.
Na minha equação, vario o comprimento do raio em cada eixo para que também possa gerar um caminho oval.
fonte