0

我正在设计一个交通应用程序,它在地图上以 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;
}

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

4

1 回答 1

0

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

于 2013-06-25T03:57:01.783 回答