问题
I am getting the following error: initWithPolyline
: is deprecated: first deprecated in iOS 7.0
MKPolylineView *lineView = [[MKPolylineView alloc]
initWithPolyline:overlay];
What is the replacement method of instead of this ?
回答1:
See the documentation for initWithPolyline:
. Read the Deprecation Statement which says to use an MKPolylineRenderer
object instead.
回答2:
You should use (MKOverlayRenderer *)
type delegate instead of (MKOverlayView *)
type delegate. And return MKPolylineRenderer
instead of MKPolylineView
.
-(MKOverlayRenderer *)mapView:(MKMapView *)mapView
rendererForOverlay:(id<MKOverlay>)overlay {
MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithOverlay:overlay];
renderer.strokeColor = [UIColor redColor];
renderer.lineWidth = 5.0;
return renderer;
}
回答3:
You will like to take a look to MKPolylineRenderer, specifically to -initWithPolyline (avalilable in iOS 7 and later).
来源:https://stackoverflow.com/questions/28276383/mkpolylineview-initwithpolyline-is-deprecated-in-ios-7