Пользовательская функция drawMapRect MKOverlayRenderer не рисует полигоны

Я построил пользовательский MKOverlayRenderer для построения полигонов, применил режим наложения, а затем добавил их в вид карты. В моей функции drawMapRect я использую массив CGPoints для построения многоугольника и создания пути.

Тем не менее, во время выполнения ничего не отображается на моей карте. Моим лучшим предположением будет порядок, в котором я создаю многоугольник в моей функции drawMapRect. Любая помощь или руководство будет принята с благодарностью, спасибо!

override func drawMapRect(mapRect: MKMapRect, zoomScale: MKZoomScale, inContext context: CGContext) {

    super.drawMapRect(mapRect, zoomScale: zoomScale, inContext: context)
    CGContextSaveGState(context)
    CGContextSetBlendMode(context, CGBlendMode.Exclusion)
    CGContextSetFillColorWithColor(context, self.fillColor)
    CGContextSetStrokeColorWithColor(context, UIColor.whiteColor().CGColor)
    CGContextSetLineWidth(context, 1.0)

    let point = MKMapPointForCoordinate(self.polygon.points[0])
    CGContextMoveToPoint(context, CGFloat(point.x), CGFloat(point.y))
    for i in 1..<self.polygon.points.count {
        let point = polygon.points[i]
        let p = MKMapPointForCoordinate(point)
        CGContextAddLineToPoint(context, CGFloat(p.x), CGFloat(p.y))
    }

    CGContextClosePath(context)
    CGContextDrawPath(context, CGPathDrawingMode.FillStroke)
    CGContextRestoreGState(context)
}

Вот где инициализируется мой пользовательский оверлейный рендер:

func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
    if (overlay is MKPolygon) {
        let polygonRenderer = MyCustomMapRenderer(overlay: overlay, fillColor: self.polyFactory!.getPolygonColor().CGColor, polygon: self.currentPolygon!)
        return polygonRenderer
    }
    return MKOverlayRenderer()
}

Ответы на вопрос(2)

Ваш ответ на вопрос