我有地图上描绘的点的阵列,其已经解码:如何在MapView上绘制MKPolyline?
- (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];
}
其中“地图”是的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”参数,但会引发异常。
我想我很近,但我不知道现在该做什么。
请帮忙!非常感谢你提前。
请注意,此代码现在已在iOS7上过时。 –