Monotouch-在地图上绘制MKPolyline

问题描述

| 我有一个由CLLocationCoordinate2D数组(点)组成的MKpolyline。没关系。 我将此行作为叠加层添加到地图上,如下所示:
Map.AddOverlay(line);
我设定为:
Map.SetVisibleMapRect(line.BoundingMapRect,true);
但是,尽管地图边界正确,但该线未显示。 我正在研究MKpolylineView,但无法正常工作。 有人知道设置颜色和线条宽度吗? 谢谢     

解决方法

        经过大量的头部刮擦之后,以下是在MKMapView上显示MKPolyline的方法: 步骤1:为Map GetViewForOverlay创建委托方法
Map.GetViewForOverlay = Map_GetViewForOverlay;
其中Map是MKMapView。
MKOverlayView Map_GetViewForOverlay(MKMapView mapView,NSObject overlay)
{
    if(overlay.GetType() == typeof(MKPolyline))
    {
       MKPolylineView p = new MKPolylineView((MKPolyline)overlay);
       p.LineWidth = 2.0f;
       p.StrokeColor = UIColor.Green;
       return p;
    }
    else
        return null;
}
步骤2:创建一个新的MKPolyline实例
MKPolyline line = MKPolyline.FromCoordinates(polyPoints);
其中polyPoints是CLLocationCoordinate2D的数组。 步骤3:将叠加层添加到地图
Map.AddOverlay(line);
第4步:使用以下代码缩放和更改地图范围以适合路线
Map.SetVisibleMapRect(line.BoundingMapRect,true);
    ,        我很确定您的意图是否是在给定支持模型对象的情况下在MapView上动态绘制地图,该对象指示您要在此处查看我的项目的两个坐标:
https://github.com/anujb/MapWithRoutes
这将允许您覆盖路径,并且会随着地图的更改而更新。它是obj-C端口的修改版本,它使用了后台线程,因此不会阻塞。 谢谢, 阿努吉