我有一张根据用户位置和动作绘制路径的地图。它很好,因为它将每个段连接在一起,所以我可以根据它们的速度应用颜色。我想添加每个线段连接时(约10米)线条看起来更平滑的地方,特别是在转弯时。下面是我的代码,我不能为我的生活弄清楚如何在不影响准确性的情况下添加曲线。我还在屏幕上显示了我的屏幕。我没有最终产品的屏幕,但您可以看到它连接的位置并对曲线或平滑线进行成像。
for (int i=0;i<crumbs.pointCount;i++){
CGMutablePathRef path = CGPathCreateMutable();
CGPoint point = [self pointForMapPoint:crumbs.points[i]];
if (i==0){
CGPathMoveToPoint(path, nil, point.x, point.y);
} else {
CGPoint prevPoint = [self pointForMapPoint:crumbs.points[i-1]];
CGPathMoveToPoint(path, nil, prevPoint.x, prevPoint.y);
CGPathAddLineToPoint(path, nil, point.x, point.y);
CGFloat lineWidth = MKRoadWidthAtZoomScale(zoomScale);
CGContextAddPath(context, path);
CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:57 / 255 green:172 / 255 blue:255 / 255 alpha:1].CGColor);
CGContextSetLineJoin(context, kCGLineJoinMiter);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, lineWidth);
CGContextStrokePath(context);
CGPathRelease(path);
}