Мне было просто любопытно, как правильно нарисовать простую линию маршрута между множеством точек? В настоящее время у меня есть массив координат, и когда я передаю его в 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, который отвечает за рисование, на тот случай, если кто-то увидит, что я делаю или не делаю.
Теперь, когда я смотрю на все гораздо ближе, фактически не соединяю соседние координаты друг с другом. У каждой точки есть только 2 линии, вытекающие из нее, соединяющие эту точку с еще 2 точками, но я не могу понять схему, с которой они соединяются.