0

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

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

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

self.center = CGPoint(x: frameWidth / 2, y: frameHeight / 2)
self.isAnchoredToAnnotation = true
4

1 回答 1

0

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

override var center: CGPoint {

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

    get {

        return super.center

    }

}
于 2017-08-17T08:25:10.060 回答