2016-05-24 4 views
1

Я использую GMaps SDK для Swift, и моя цель - заменить стандартный маркер анимированным типом, подобным пульсирующему эффекту. Я пытался играть со слоем, но не повезло. Любые предложения, как добавить эффекты анимации на изображение маркера?Пульсирующая анимация маркера в Google Maps Swift

let parkingSpotsPosition = CLLocationCoordinate2D(latitude: self.SpotLocationLatitudes.last!, longitude: self.SpotLocationLongitudes.last!) 
        let marker = GMSMarker(position: parkingSpotsPosition) 
        marker.title = self.SpotNames.last 
        //marker.icon = GMSMarker.markerImageWithColor(UIColor.greenColor()) 
        marker.icon = UIImage(named: "parking-location") 
        marker.map = self.gMapsView 
+0

возможного дубликата HTTP: // StackOverflow .com/questions/18529248/how-set-custom-annotation-markers-animated-rings-around-a-point-on-gmsmapview –

+0

правда, но проблема все еще существует –

ответ

0

Вы можете сделать это, рисуя изображение в его состояниях. Например, тревожное пульсирующее изображение, которое я рисую, с одной линией горит, две строки горит и т. Д. Затем вы аниматируете эти изображения.

Определить animatedImage, отдельные изображения и массив изображений следующим образом:

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

Где-то, как viewDidLoad, установить его с продолжительностью вашего выбора. Я использую приложение Sketch для рисования отдельных изображений.

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) 

Если вы хотите сделать анимированное изображение на карте и увидеть пульсирующий эффект, а затем использовать обычную GMSMapView и GMSMarker коды, что-то вроде:

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