MKMapView叠加折线绘制在道路标签之上

Sai*_*ail 5 overlay map mkmapview ios google-directions-api

我通过绘制2点之间的方向来制作导航应用程序.我成功归档了该功能.

但是方向线被绘制在道路标签的顶部,并且该标签无法读取,如下图所示.

在此输入图像描述

这是我绘制叠加层的代码

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
    MKPolylineView *overlayView = [[MKPolylineView alloc] initWithPolyline:overlay];
    overlayView.lineWidth = 10.0f;
    //overlayView.strokeColor = [[UIColor redColor] colorWithAlphaComponent:0.5f];
    overlayView.strokeColor = [UIColor redColor];
    return overlayView;
}
Run Code Online (Sandbox Code Playgroud)

我可以通过透明线来克服这个问题,但这不是有效的方法.

最好的方法是在地图图层和MKMapView的标签图层之间画线,但我不知道如何存档.

所以任何帮助请.谢谢.

Cra*_*aig 8

假设您正在为iOS地图编写此内容(而不是谷歌地图,因为您标记了问题)并使用iOS 7,那么当您将叠加层添加到地图视图时,您可以选择定义它所在的级别addOverlay:level:.级别在MKMapView类引用中定义

[theMapView addOverlay:theOverlay level:MKOverlayLevelAboveRoads];
Run Code Online (Sandbox Code Playgroud)