je l'ai déjà ajouté une superposition à ma carte avec le code follwing:MapKit - Changer la couleur/Stroke d'un MKPolyline
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! {
if overlay.isKindOfClass(MKPolyline) {
// draw the track
let polyLine = overlay as! MKPolyline
let polyLineRenderer = MKPolylineRenderer(overlay: polyLine)
polyLineRenderer.strokeColor = UIColor.blueColor()
polyLineRenderer.lineWidth = 2.0
return polyLineRenderer
}
return nil
}
Maintenant, je veux changer la largeur de la couleur ou de la ligne de cette polyligne.
La seule façon que je trouve à faire est la suivante: la méthode Mapview renderForOverLay
func randomMethod()
{
...// find aPolyline
self.myOverlay = aPolyLine
self.map.removeOverlay(self.myOverlay)
self.map.addOverlay(self.myOverlay)
}
ajouté ceci:
if (polyLine == self.myOverlay)
{
polyLineRenderer.strokeColor = UIColor.redColor()
polyLineRenderer.lineWidth = 5.0
}else{
polyLineRenderer.strokeColor = UIColor.blueColor()
polyLineRenderer.lineWidth = 2.0
}
Il doit y avoir une meilleure façon que d'enlever la superposition et l'ajouter de nouveau.
Connaissez-vous un autre moyen?