Ios 为什么不显示多段线?

Ios 为什么不显示多段线?,ios,xamarin.ios,Ios,Xamarin.ios,下面是我的全部代码,以显示一行简单的代码: public class MapUIViewController : UIViewController { MKMapView map; public override void ViewDidAppear(bool animated) { base.ViewDidAppear(animated); CLLocationCoordinate2D loc = new CLLocationCoord

下面是我的全部代码,以显示一行简单的代码:

public class MapUIViewController : UIViewController
{
    MKMapView map;

    public override void ViewDidAppear(bool animated)
    {
        base.ViewDidAppear(animated);
        CLLocationCoordinate2D loc = new CLLocationCoordinate2D(38.8895, -77.036168);
        map = new MKMapView()
        {
            MapType = MKMapType.Hybrid,
            Region = new MKCoordinateRegion(loc, new MKCoordinateSpan(0.1, 0.1)),
            Frame = View.Bounds,
        };
        View = map;
        ShowLine(loc, new CLLocationCoordinate2D(loc.Latitude + 1, loc.Longitude + 1));
    }
        
    void ShowLine(CLLocationCoordinate2D start, CLLocationCoordinate2D end)
    {
        MKGeodesicPolyline polyline = MKGeodesicPolyline.FromCoordinates(new CLLocationCoordinate2D[] { start, end });
        map.AddOverlay(polyline);
        map.OverlayRenderer = rend;
    }

    MKOverlayRenderer rend(MKMapView mapView, IMKOverlay overlay)
    {
        if (overlay is MKGeodesicPolyline line)
            return new MKPolylineRenderer(line) { LineWidth = 3, StrokeColor = UIColor.Red, FillColor = UIColor.Brown, Alpha = 1 };
        else
            return null;
    }
}
它显示指定的位置,但不显示线

(代码在C#(使用Xamarin.ios)中,但在Swift和Objective C中应该类似,我的问题是关于作为ios特性的渲染器,而不是语言特性)


我一定是遗漏了什么,但我找不到。

在添加行之前,需要指定渲染器。以另一种方式执行此操作意味着添加线时不存在渲染器,因此不会绘制该线


您应该指定渲染器FIRST@Jason哇,很简单。谢谢(您可以将您的评论更改为答案,以便我可以接受。)再次感谢。(7分钟内无法接受)
map.AddOverlay(polyline);
map.OverlayRenderer = rend;
map.OverlayRenderer = rend;
map.AddOverlay(polyline);