У меня есть массив точек, которые нужно нарисовать на карте, уже декодированные:
- (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];
}
где "map" - это экземпляр MKMapView и путь к массиву, представляющему уже декодированный набор точек.
Я думал, что с линией [map addOverlay:polyLine];
она будет нарисована. Я видел на некоторых страницах этот метод:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
MKPolylineView *polylineView = [[MKPolylineView alloc] initWithPolyline:overlay];
polylineView.strokeColor = [UIColor redColor];
polylineView.lineWidth = 1.0;
return polylineView;
}
Является ли polylineView тем, что действительно нарисовано на карте? Я попытался также передать MKPolyline (от метода выше) к аргументу "<MKOverlay> overlay" этого последнего метода, но выдает исключение.
Я думаю, что я рядом, но я не знаю, что делать сейчас.
Пожалуйста, помогите! Большое вам спасибо заранее.