Comment dessiner un MKPolyline sur une MapView?

J'ai un tableau de points sur une carte, son déjà décodé:

- (void) drawRoute:(NSArray *) path {
    NSInteger numberOfSteps = path.count;

    CLLocationCoordinate2D coordinates[numberOfSteps];
    for (NSInteger index = 0; index < numberOfSteps; index++) {
         CLLocation *location = [path objectAtIndex:index];
         CLLocationCoordinate2D coordinate = location.coordinate;

         coordinates[index] = coordinate;
    }

    MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps];
    [map addOverlay:polyLine];
}

où "carte" est un exemple de MKMapView, et le chemin le tableau représentant le déjà décodé ensemble de points.

Je pensais qu'avec la ligne [map addOverlay:polyLine]; il serait établi. J'ai vu dans les quelques pages de cette méthode:

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
    MKPolylineView *polylineView = [[MKPolylineView alloc] initWithPolyline:overlay];
    polylineView.strokeColor = [UIColor redColor];
    polylineView.lineWidth = 1.0;

    return polylineView;
}

Est le polylineView ce qui est dessinée sur la carte? J'ai essayé aussi de passer le MKPolyline (à partir de la méthode ci-dessus) à la "<MKOverlay> superposition de" l'argument de cette dernière méthode, mais déclenche une exception.

Je pense que je suis proche, mais je ne sais pas quoi faire maintenant.

S'il vous plaît aider! Merci beaucoup à l'avance.

  • Notez que ce code est obsolète maintenant sur iOS7.
InformationsquelleAutor Fustigador | 2012-06-06