移动地图时 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
}
}
平台: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
}
}