'initWithPolygon:' & 'initWithPolyline:' устарели: сначала устарели в iOS 7.0: есть ли решение для этого предупреждения в iOS?

Я использую библиотеку KMLParser для автономной карты, чтобы загрузить файл.kml с сервера, но я нашел эти предупреждения.

Пожалуйста, дайте какое-либо решение, чтобы удалить эти предупреждения.

Вот функция для обоих:

для initWithPolygon,

- (MKOverlayPathView *)createOverlayView:(MKShape *)shape
{
    // KMLPolygon corresponds to MKPolygonView

    MKPolygonView *polyView = [[MKPolygonView alloc] initWithPolygon:(MKPolygon *)shape];
    return polyView ;
}

для initWithPolyline,

- (MKOverlayPathView *)createOverlayView:(MKShape *)shape
{
    // KMLLineString corresponds to MKPolylineView
    MKPolylineView *lineView = [[MKPolylineView alloc] initWithPolyline:(MKPolyline *)shape];
    return lineView ;
}

1 ответ

Вы должны использовать (MKOverlayRenderer *) введите делегат вместо (MKOverlayView *) введите делегат. И вернуться MKPolylineRenderer вместо MKPolylineView,

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView
           rendererForOverlay:(id<MKOverlay>)overlay {
   MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithOverlay:overlay];
   renderer.strokeColor = [UIColor blueColor];
   renderer.lineWidth = 2.0;            
   return renderer;
}
Другие вопросы по тегам