我现在正在iOS上使用谷歌地图api,但我遇到了这个问题。我有一个GMSMarker,有一定的头衔。
markerTracker = GMSMarker(position: coordinate)
let markerImage = UIImage(named: "markerImage")!.withRenderingMode(.alwaysTemplate)
markerTracker!.title = Constants.alert
/* Do some other GMSMarker setup here */
有一种简单的方法可以使标记本身闪烁:
UIView.animate(withDuration: 1.0, delay: 0.0, options: [.repeat, .autoreverse], animations: {
self.markerTracker?.iconView!.alpha = 0.0
}, completion: nil)
结果将是闪烁的标记图像和标题窗口保持静止。
但是,我想反之亦然,使标记图像不可变并使标题窗口闪烁。
任何想法如何实现这一目标?似乎,当前的API只允许访问单个视图,即iconView。我看不到获取标题视图的方法。
在这里,您可以找到自定义图像在地图上闪烁的源。
func animateFlash() {
markerTracker.alpha = 0
markerTracker.isHidden = false
UIView.animate(withDuration: 0.3, animations: { markerTracker.alpha = 1.0 }) { finished in self.markerTracker.isHidden = true
self.animateFlash()
}
}