2016-05-24 17 views
1

Ich verwende GMaps SDK für Swift und mein Ziel ist es, Standard-Marker durch animierte Art wie pulsierender Effekt zu ersetzen. Ich habe versucht mit Layer zu spielen, aber kein Glück. Irgendwelche Vorschläge, wie ich Animationseffekte auf meinem Markerbild hinzufügen kann?Pulsierende Marker Animation in Google Maps Swift

+0

möglich Duplikat http: // Stackoverflow com/questions/18529248/how-set-custom-annotation-markers-animierte-rings-around-a-point-on-gmsmapview –

+0

wahr, aber das Problem ist immer noch vorhanden –

Antwort

0

Sie können es tun, indem Sie das Bild in seinen Zuständen zeichnen. Zum Beispiel, ein Alarm pulsierendes Bild, das ich mit einer beleuchteten Linie, zwei beleuchteten Linien usw. zeichne. Dann animierst du diese Bilder.

Definieren Sie die animatedImage, einzelne Bilder, und eine Reihe von Bildern in etwa so:

var animatedImage: UIImage! 
var image1: UIImage! 
var image2: UIImage! 
var image3: UIImage! 
var image4: UIImage! 
var images: [UIImage]! 

Irgendwo wie viewDidLoad, setzen Sie ihn mit einer Dauer Ihrer Wahl auf. Ich verwende Sketch App zum Zeichnen der einzelnen Bilder.

image1 = UIImage(named: "MarkerTrouble1.png") 
image2 = UIImage(named: "MarkerTrouble2.png") 
image3 = UIImage(named: "MarkerTrouble3.png") 
image4 = UIImage(named: "MarkerTrouble4.png") 

images = [image1, image2, image3, image4] 

animatedImage = UIImage.animatedImage(with: images, duration: 0.8) 

Wenn Sie das animierte Bild auf der Karte zeichnen wollen und den pulsierenden Effekt zu sehen, verwenden Sie dann den üblichen GMSMapView und GMSMarker Code, so etwas wie:

let marker = GMSMarker() 
let markerView = UIImageView(image: animatedImage) 
marker.position = CLLocationCoordinate2D(latitude: userLat, longitude: userLng) 
marker.iconView = markerView 
marker.map = mapView