我正在尝试使用MKOverlay
(特别是MKPolyline
) 在地图上显示路线。但是,我需要路线显示在我现有的引脚上方(自定义MKAnnotationView
s)。有没有好的方法可以带MKPolyline
到引脚上方的前面?
研究注释层可能会很有用zOrder
财产。在超级视图的层次结构中向后发送注释可能会帮助您实现所需的效果。更改注释 z 轴位置可能应该在mapView:didAddAnnotationViews:
委托方法。
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
annotationView.layer.zPosition = x;
}
我已经有一段时间没有处理过MKPolyline
,我知道 iOS 8 中的情况发生了很大变化,但是您可以在绘制折线时直接操纵折线的 z 位置。
UPDATE
当您添加您的MKOverlay
从 iOS 7.0+ 开始,使用addOverlay:level:
方法。这允许您指定叠加层的 z 位置。覆盖层的最高 z 位置之一,定义为MKOverlayLevels
is MKOverlayLevelAboveLabels
:
将叠加层放置在地图标签、盾牌或兴趣点图标上方,但位于建筑物的注释和 3D 投影下方。
不幸的是,正如上面的文档中提到的,地图不支持将叠加层放置在注释之上。一个可能的解决方案是将注释添加到单独的MKOverlay
对象,然后使用以下命令将其他覆盖层(带有路径)添加到地图中insertOverlay:aboveOverlay:
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)