Swift MapKit:使用不受欢迎的工件渲染MKCircle

Swift MapKit:使用不受欢迎的工件渲染MKCircle,swift,xcode,mkmapview,mkoverlay,mkcircle,Swift,Xcode,Mkmapview,Mkoverlay,Mkcircle,我使用MKCircle在MKMapView上显示用户位置。这是通过几行代码完成的: MKCircle创建: self.mapCircle = MKCircle(center: pinLocation, radius: 50) self.mapView.add(self.mapCircle!) 使用MKMapViewDelegate进行渲染: func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOv

我使用MKCircle在MKMapView上显示用户位置。这是通过几行代码完成的:

MKCircle
创建:

self.mapCircle = MKCircle(center: pinLocation, radius: 50)
self.mapView.add(self.mapCircle!)
使用
MKMapViewDelegate
进行渲染:

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
        guard let circle = overlay as? MKCircle else { return MKOverlayRenderer(overlay: overlay) }

        let renderer = MKCircleRenderer(circle: circle)

        renderer.strokeColor = .red
        renderer.lineWidth = 1

        return renderer
}
它的表现相当不错,直到我缩小和放大回来。然后我得到了垂直线的人造物,它一直出现在同一个地方。它不取决于笔划宽度


有人知道避免出现这种假象的解决办法吗?

你最后找到了吗?有几个问题围绕着MKMapView覆盖着人工制品,但似乎没有一个答案。嗨@KaneCheshire。我改变了设计,所以我不再需要处理这个bug了。如果您找到解决方案后通知我,我将不胜感激。我还没有,但我正在使用覆盖drawMapRect来确保它只绘制到与圆相交的地图中。看起来很有希望。