MKPolylineView initWithPolyLine:在iOS 7中已弃用

时间:2015-02-02 11:07:52

标签: ios mkmapview mapkit deprecated mkpolyline

我收到以下错误:initWithPolyline:已弃用:首先在iOS 7.0中弃用

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

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

3 个答案:

答案 0 :(得分:10)

您应该使用(MKOverlayRenderer *)类型代理而不是(MKOverlayView *)类型代理。并返回MKPolylineRenderer而不是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;
}

答案 1 :(得分:5)

请参阅initWithPolyline: MKPolylineRenderer。阅读弃用声明,该声明表示使用{{1}}对象。

答案 2 :(得分:1)

您想看看MKPolylineRenderer,特别是-initWithPolyline(iOS 7及更高版本中提供)。