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