2016-06-14 5 views
0

Я пытаюсь нарисовать линию, используя MKOverlayRenderer. Мое наложение визуализатор-х drawMapRect примерно:MKOverlayRenderer рисовать линию используя CGPath

let path = CGPathCreateMutable() 
CGPathMoveToPoint(path, nil, x, y) // x, y = starting point 

let remainingPoints: [CGPoint] = ... // remaining points 
CGPathAddLines(path, nil, remainingPoints, remainingPoints.count) 

CGContextAddPath(context, path) 

CGContextSetStrokeColorWithColor(context, UIColor.blueColor().CGColor) 
CGContextSetLineWidth(context, 2.0) 

CGContextStrokePath(context) 

Это, однако, не работает, ничего не появляется. Я также попытался поглаживание с:

CGContextDrawPath(context, .Stroke) 

Я знаю, что мой путь правильно определен, потому что, если я использую .FillStroke, он заполняет многоугольники.

Закрытие пути использованием CGPathCloseSubpath(path) не помогает.

+0

и когда он заполняет все в том месте, которое вы ожидаете от него? – Wain

+0

Если я вызываю 'CGContextDrawPath (context, .FillStroke)' он заполняет многоугольник, который находится в правильном месте –

ответ

1

Ширина моей линии (2.0) была слишком малой для уровня масштабирования.

+0

Это спасло меня. Нужно было довести его до 400, чтобы быть замеченным, потому что я начал с boundingRect MKMapRectWorld –