MKPolyLine,检测线条何时重叠并相应改变颜色
Posted
技术标签:
【中文标题】MKPolyLine,检测线条何时重叠并相应改变颜色【英文标题】:MKPolyLine, detect when lines overlap and change color accordingly 【发布时间】:2013-06-19 01:09:27 【问题描述】:我正在设计一个交通应用程序,它以 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】:我最终使用了 MKPolylineView 的 lineDashPattern 属性。将其应用于其中一条重叠线即可达到预期效果。
【讨论】:
以上是关于MKPolyLine,检测线条何时重叠并相应改变颜色的主要内容,如果未能解决你的问题,请参考以下文章