我有一个过去 10个纪元时间的数组。
我想用这些纪元创建一个动画GMSURLTileLayer。
我尝试与 for 循环集成,但它不起作用。
这是我的代码:
let epochs = [10, 20, 30, 40, 50]
private func configureRadarForGoogle(epoch: Int) {
UIView.animate(withDuration: 1.0) {
let url: GMSTileURLConstructor = {(x, y, zoom) in
let urltemplate = "https://tilecache.rainviewer.com/v2/radar/(epoch)/512/(zoom)/(x)/(y)/2/1_1.png"
return URL(string: urltemplate)
}
let layer = GMSURLTileLayer(urlConstructor: url)
layer.zIndex = 5
layer.map = self.mapView
}
}
private func startAnimation() {
for epoch in self.epochs {
sleep(1)
configureRadarForGoogle(epoch: epoch)
}
}
有谁知道更好的解决方案?多谢。
我认为您可以使用GMSMarkerLayer
,它是GMSOverlayLayer
的子类,在每个标记的基础上可用,它允许对其相关GMSMarker
的多个属性进行动画处理
现在要制作动画,您可以计算点并将它们添加到 2 个单独的数组中,一个用于纬度值 (y(,一个用于经度 (x(,然后使用 CAKeyFrameAnimation 中的 values 属性进行动画处理,如此处所述