我在MKMapView
上绘制x行数。数据正在从网络服务下载,对于需要绘图的每一行,我创建了一个MKPolyline
,将其添加到overlayArray
(一些叠加层有多条折线),最后将该叠加层添加到地图通过:
[self.mapView addOverlays:overlayArray];`
因此调用下一个函数非常有效:
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
if (![overlay isKindOfClass:[MKPolygon class]]) {
MKPolyline *route = overlay;
MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithPolyline:route];
renderer.strokeColor = [lineColours objectForKey:route.title];
renderer.lineWidth = 3.0;
return renderer;
} else {
return nil;
}
}
如您所见,strokeColor
从预定义的UIColor
获取了正确的NSMutableDictionary
。这一切都按预期工作。
然而,一些线重叠并且并不总是需要使用单一颜色。我想知道是否有一种方法可以创建一条由两种甚至三种颜色组成的线,但不是像许多健身应用程序中看到的沿线的渐变,而是整条线上的颜色。例如,另一种用途是绘制一条由两条白线组成的高速公路路线,中间有一条透明条带。
这对我正在开发的应用程序非常重要,所以我会发布我在这里找到的任何发现,我希望其他人也可以分享他们的想法和知识。