移动地图时 MGLCalloutView 会掉落 (Mapbox iOS)

MGLCalloutView Drops when map is moved (Mapbox iOS)

平台:iOS (Swift) Mapbox SDK 版本:3.6

您好,我有一个自定义 MGLCalloutView,当我点击 MGLAnnotationView 时,标注会按预期出现在注释上方,但如果我稍微移动地图,标注会轻微移动并向下覆盖注释。当您移动地图时,一个标注已删除,它确实会保持锚定到该点。

我已经实施了 isAnchoredToAnnotation,我不确定这是一个错误还是我实施了错误。我在文档中注意到它说实现 setCentre,所以我在 presentCallout

中设置了中心
self.center = CGPoint(x: frameWidth / 2, y: frameHeight / 2)
self.isAnchoredToAnnotation = true

设法弄清楚了,平移地图时中心正在更新,覆盖视图中心的 Get/Set 解决了这个问题。

override var center: CGPoint {

    set {
            var newCenter = newValue
            newCenter.y = newCenter.y - bounds.midY
            super.center = newCenter
       }

    get {

        return super.center

    }

}