MKPolylineView initWithPolyLine:在iOS 7中已弃用

我收到以下错误: initWithPolyline :不推荐使用:首先在iOS 7.0中弃用

 MKPolylineView *lineView = [[MKPolylineView alloc] initWithPolyline:overlay]; 

替代方法的替代方法是什么?

请参阅initWithPolyline:的文档 initWithPolyline: 。 阅读说明使用MKPolylineRenderer对象的弃用语句。

您应该使用(MKOverlayRenderer *)类型委托而不是(MKOverlayView *)类型委托。 并返回MKPolylineRenderer而不是MKPolylineView

 -(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id)overlay { MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithOverlay:overlay]; renderer.strokeColor = [UIColor redColor]; renderer.lineWidth = 5.0; return renderer; } 

您将看一下MKPolylineRenderer ,特别是-initWithPolyline(在iOS 7及更高版本中可用)。