2016-06-14 4 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) 

이 그러나 작동하지 않는, 아무것도 표시되지 않습니다. 나는 .FillStroke를 사용하는 경우, 그것은 다각형을 채우기 때문에 내 경로가 올바르게 정의 알고

CGContextDrawPath(context, .Stroke) 

: 나는 또한 함께 쓰다듬어했습니다.

CGPathCloseSubpath(path)을 사용하여 경로를 닫는 것이 도움이되지 않습니다.

+0

언제 모든 정보를 채우지 않을까요? – Wain

+0

'CGContextDrawPath (context, .FillStroke) '를 호출하면 올바른 위치에있는 다각형이 채워집니다. –

답변

1

확대/축소 수준에서 내 선 너비 (2.0)가 너무 작습니다.

+0

이렇게하면 저를 구할 수 있습니다. 내가 boundingRect MKMapRectWorld에서 시작했기 때문에 그것을 400으로 밀어 넣어야했습니다. –