【发布时间】:2017-06-02 19:06:35
【问题描述】:
如何用不同的颜色和图案绘制多个MKPolyline。
- 我想画两个
MKPolylines - 一个蓝色实线
- 第二个带有红色虚线图案
我可以区分图案,但不能区分颜色 这是我的代码
-(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
if ([overlay isKindOfClass:[self.myPolyline class]])
{
MKPolylineRenderer *renderer1 = [[MKPolylineRenderer alloc]initWithPolyline:overlay];
UIColor *routeColor = [UIColor blueColor];
renderer1.strokeColor = routeColor;
renderer1.lineWidth = 5;
return renderer1;
}
if ([overlay isKindOfClass:[self.myDottedPolyline class]])
{
//sets the pattern to a line 2 points long followed by a 1 point gap.
//renderer.lineDashPattern = @[@2, @1];
MKPolylineRenderer *renderer2 = [[MKPolylineRenderer alloc]initWithPolyline:overlay];
UIColor *liveRouteColor = [UIColor redColor];
renderer2.lineWidth = 7;
renderer2.lineDashPattern = @[@20,@3];
renderer2.strokeColor = liveRouteColor;
return renderer2;
}
return nil;
}
【问题讨论】:
-
您是如何在地图中添加 MKPolyline 的,您可以添加该代码吗?
-
[self.sampleMap addOverlay:self.myPolyline]; [self.sampleMap addOverlay:self. myDottedPolyline]
-
好的,现在可以添加屏幕截图吗?
-
renderer2.lineDashPattern = @[@20,@3];这条线可能会创建长虚线,我认为您需要使用较小的虚线,例如 @2 或 @5 -
我想要长虚线图案,但它正在绘制点
标签: objective-c mkmapview mapkit mkpolyline