2016-06-14 38 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 –