如何在Swift 4中添加虚线折线?

4
我已经有了Swift4中的折线,如何将其样式设置为虚线/点线?
  let   path = GMSMutablePath(path: GMSPath())
    for marker in markerList {
        bounds = bounds.includingCoordinate(marker.position)
        path.add(marker.position)

    }



    let polyline = GMSPolyline(path: path)
    polyline.strokeColor = UIColor(named: "Primary")!
    polyline.strokeWidth = 3.0
    polyline.geodesic = true
    polyline.map = mapView

像这张地图

1个回答

7

您需要实现func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer代理方法,并使用renderer.lineDashPhaserenderer.lineDashPattern属性,就可以实现您需要的效果。

代码示例:

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    let renderer = MKPolylineRenderer(overlay: overlay)
    renderer.strokeColor = UIColor.red
    renderer.lineWidth = 4.0
    renderer.lineDashPhase = 2
    renderer.lineDashPattern = [NSNumber(value: 1),NSNumber(value:5)]
    return renderer
}

结果

这里输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接