0

在我们的应用程序中,由于 MGLAnnotationViews 的灵活性,我们大量使用它。

我们可以使用 MGLAnnotationView 为地图上的注释设置动画。

例如,注释上的脉动效应对我们的应用程序至关重要。

在之前的版本 6 中,我们通过以下方式实现了脉动效果:

class CustomAnnotationView: MGLAnnotationView {
    let pointFeature: MGLPointFeature
    let reuseId: String
    let customPulse = CustomPulseLayer() // CAReplicatorLayer

    init(pointFeature: MGLPointFeature, showPulse: Bool) {
        self.pointFeature = pointFeature
        self.reuseId = self.identifier(forFeature: pointFeature)
        super.init(annotation: pointFeature, reuseIdentifier: self.reuseId)
        self.frame = CGRect(x: 0, y: 0, width: 24, height: 24)
        self.layer.cornerRadius = bounds.width / 2
        self.backgroundColor = .systemBlue
        self.addSubview(pointImageView)

        if showPulse {
            layer.addSublayer(customPulse)
            customPulse.start()
        }
    }

    private lazy var pointImageView: UIImageView = {
        let imageView = UIImageView(frame: self.frame)
        let image = self.imageBasedOnIdentifier(self.reuseId)
        imageView.image = image
        return imageView
    }()
}

有人知道如何在 Mapbox 版本 10 中完成同样的事情吗?

4

0 回答 0