我尝试使用MKOverlay
(特别是MKPolyline
)在地图上显示路线。但是,我需要将路径显示在我现有的引脚之上(自定义MKAnnotationView
s)。有没有一种方法可以将MKPolyline
带到引脚上方的正面?
答案 0 :(得分:4)
调查注释图层的zOrder
属性可能很有用。在superview的层次结构中向后发送注释可以帮助您实现所需的效果。更改注释z轴位置应该在mapView:didAddAnnotationViews:
委托方法中完成。
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
annotationView.layer.zPosition = x;
}
自从我处理MKPolyline
以来已经有一段时间了,我知道iOS 8中的内容发生了很大的变化,但您可以直接操作折线' sz你正在绘制它的位置。
<强>更新强>
当您将MKOverlay
添加到地图时,从iOS 7.0+开始,请使用addOverlay:level:
方法。这允许您指定叠加的z位置。由MKOverlayLevels
定义的叠加层的最高z位置之一是MKOverlayLevelAboveLabels
:
将叠加层放置在地图标签,盾牌或兴趣点图标上方,但低于注释和建筑物的3D投影。
不幸的是,正如上面的文档中所提到的,地图不支持在注释上方放置叠加层。可能的解决方案可能是将注释添加到单独的MKOverlay
对象,然后使用insertOverlay:aboveOverlay:
将其他叠加(使用路径)添加到地图。