如何在Mapkit中以不同的颜色绘制两条折线?

问题描述:

这是我绘制第一条线的代码,换另一种颜色的线我该怎么办?????

this is my code for drawing first Line, for another line with another color how can i do ?????

 func mapView(mapView : MKMapView! , rendererForOverlay overlay: MKOverlay!) ->MKOverlayRenderer! {

    if overlay is MKPolyline {

        var polyLineRenderer = MKPolylineRenderer(overlay: overlay)
        polyLineRenderer.strokeColor = UIColor.blackColor()
        polyLineRenderer.lineWidth = 10

        return polyLineRenderer
    }
    return nil
  }

最后,我找到了方法:

在课堂上我放在最重要的位置

In the top of the class i put

var toGo    : MKPolyline?
var toCome  : MKPolyline?

然后在视图中加载:

                    var polyLineGoes = MKPolyline(coordinates: &coordinateGoes, count: coordinateGoes.count)
                    toGo = polyLineGoes
                    mapView.addOverlay(polyLineGoes)


                    var polyLineComes = MKPolyline(coordinates: &coordinateComes, count: coordinateComes.count)
                    toCome = polyLineComes
                    mapView.addOverlay(polyLineComes)

在课堂结束时:

func mapView(mapView : MKMapView! , rendererForOverlay overlay: MKOverlay!) ->MKOverlayRenderer! {

    if overlay is MKPolyline {
        if ( toGo  != nil) && (toCome != nil ) {
            if overlay as? MKPolyline  == toGo {
                var polyLineRenderer = MKPolylineRenderer(overlay: overlay)
                polyLineRenderer.strokeColor = UIColor.redColor()
                polyLineRenderer.lineWidth = 3

                return polyLineRenderer
            } else if overlay as? MKPolyline  == toCome {
                print(overlay.description)
                var polyLineRenderer = MKPolylineRenderer(overlay: overlay)
                polyLineRenderer.strokeColor = UIColor.blueColor()
                polyLineRenderer.lineWidth = 3

                return polyLineRenderer
            }
        }
    }
    return nil

}