MKPolyLine,检测线条重叠并相应地改变颜色

时间:2013-06-19 01:09:27

标签: ios mkmapview mkoverlay mkpolyline

我正在设计一个过境应用程序,它在地图上以MKPolyLines的形式覆盖多条路线。目前,各种路线的颜色被设置为MKPolyLine的标题属性。我想知道是否有办法检测不同颜色的线条何时重叠,然后改变颜色。目前,当两条路线相互叠加时,颜色就是最后添加的路线。

我对伪代码的尝试

 - (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
    MKPolyline *polyline = (MKPolyline *)overlay;
    UIColor *color = [self colorWithHexString:polyline.title];
    MKPolylineView *polylineView = [[MKPolylineView alloc] initWithPolyline:overlay];

    if the polyline matches an already existing polyline{
      color = new color
    }
    polylineView.strokeColor = color;
    polylineView.lineWidth = 5.0;
}

看起来够简单?不确定是否可以比较折线并查看是否已经在地图上,可能不是一个足够精确的标识符。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我最终使用了MKPolylineView的lineDashPattern属性。将其应用于其中一条重叠线可达到预期效果。