MapKit - polylineWithCoordinates соединяет все точки

Мне просто было любопытно, как правильно провести простую линию маршрута между набором точек? В настоящее время у меня есть массив координат, и когда я передаю его в polylineWithCoordinates и делаю все остальные необходимые вещи, он рисует большую паутину линий, которые соединяют все точки друг с другом. Я просмотрел несколько примеров, но ни один из них, похоже, не сделал ничего особенного, чтобы учесть это, даже когда они используют более двух точек.

- (void)viewDidLoad
{
    [super viewDidLoad];

    ...

    //Add drawing of route line
    CLLocationCoordinate2D coordinates[[myCheckpoints count]];

    int i = 0;
    for (Checkpoint *ckpt in myCheckpoints)
    {
        coordinates[i] = CLLocationCoordinate2DMake([ckpt.lat floatValue] , [ckpt.lon floatValue]);
        i++;
    }

    MKPolyline *route = [MKPolyline polylineWithCoordinates: coordinates count: [myCheckpoints count]];
    [mapView addOverlay:route];

}

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {

    MKPolylineView *polylineView = [[[MKPolylineView alloc] initWithPolyline:overlay] autorelease];
    polylineView.strokeColor = [UIColor greenColor];
    polylineView.lineWidth = 5.0;

    return polylineView;

}

Это код в моем mapViewController, который отвечает за рисование, только в если кто-то видит, что я делаю или не делаю. Here is what the result looks like

Теперь, когда я смотрю на все гораздо внимательнее, на самом деле не связывает соседние координаты друг с другом. У каждой точки есть только две линии, соединяющие эту точку с еще двумя точками, но я не могу понять, как она их соединяет.

9
задан Karoly S 22 August 2011 в 16:46
поделиться