如何在MKAnnotations上方显示MKOverlay?

我正在尝试使用MKOverlay (特别是MKPolyline )在地图上显示路线。 但是,我需要显示在我现有的引脚(自定义MKAnnotationView )上方的路线。 有没有一种好方法将MKPolyline放在引脚上方?

调查注解图层的zOrder属性可能很有用。 在超级视图的层次结构中向后发送注释可以帮助您达到所需的效果。 更改注释的z轴位置应该在mapView:didAddAnnotationViews: delegate方法内完成。

 - (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views { annotationView.layer.zPosition = x; } 

我已经处理了MKPolyline已经有MKPolyline ,我知道iOS 8中的东西发生了很大的变化,但是在绘制时可能会直接操纵多段线的z位置。


UPDATE
当您将MKOverlay添加到地图时,从iOS 7.0+开始,使用addOverlay:level:方法。 这使您可以指定叠加层的z位置。 MKOverlayLevels定义的覆盖最高z位置MKOverlayLevelsMKOverlayLevelAboveLabels

将叠加层放置在地图标签,盾牌或兴趣点图标上方,但低于build筑物的注释和3D投影。

不幸的是,正如上面的文档中所提到的,地图不支持在注释上面放置重叠。 可能的解决scheme可能是将注释添加到单独的MKOverlay对象,然后使用insertOverlay:aboveOverlay:将以上path添加到地图insertOverlay:aboveOverlay: