我正在使用MKCircleRenderer,当圆圈的大小发生变化时,它会被重新绘制,但是当圆圈调整大小时,会发生这种情况......
Screenshot 它没有圆圈,而是在没有空格时结束绘制正方形
这是我正在使用的方法
- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)ctx{
MKMapPoint mpoint = MKMapPointForCoordinate([[self overlay] coordinate]);
CGFloat radiusAtLatitude = (_mapRadius)*MKMapPointsPerMeterAtLatitude([[self overlay] coordinate].latitude);
MKMapRect circleRect = MKMapRectMake(mpoint.x, mpoint.y, radiusAtLatitude,radiusAtLatitude);
CGRect overlayRect = [self rectForMapRect:circleRect];
UIGraphicsPushContext(ctx);
CGContextSetStrokeColorWithColor(ctx, self.fillColor.CGColor);
CGContextSetFillColorWithColor(ctx, [self.fillColor colorWithAlphaComponent:_circleAlpha].CGColor);
CGContextSetLineWidth(ctx, _border);
CGContextSetShouldAntialias(ctx, YES);
CGContextAddArc(ctx, overlayRect.origin.x, overlayRect.origin.y, radiusAtLatitude, 0, 2 * M_PI, true);
CGContextDrawPath(ctx, kCGPathFillStroke);
UIGraphicsPopContext();
}
任何线索都会对我有所帮助,提前谢谢!