1

我正在使用 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 ;
}
4

1 回答 1

2

您应该使用(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;
}
于 2016-05-25T11:19:56.927 回答