我在一个MKMapView
. 数据是从网络服务下载的,对于需要绘制的每一行,我正在创建一个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
但是,有些线条重叠,并不总是需要使用单一颜色。我想知道是否有一种方法可以创建由两种甚至三种颜色组成的线条,但不是像许多健身应用程序中看到的那样沿着线条渐变,而是线条上的颜色。例如,另一个用途是绘制一条由两条白线组成的高速公路路线,中间有一条透明条。
这对于我正在开发的应用程序来说非常重要,所以我会在这里发布我发现的任何发现,我希望其他人也可以分享他们的想法和知识。