我使用以下委托方法在Map上绘制路线。大多数情况下,它工作正常,除非在具有较大坐标数组的一条路线中。有时它可以将MKOverlay强制转换为MKPolyline,有时则不能将其用于同一路径。知道为什么会这样吗?
public override MKOverlayView GetViewForOverlay (MKMapView mapView, IMKOverlay overlay)
{
if (overlay is MKPolyline) {
MKPolyline polyline = overlay as MKPolyline;
MKPolylineView polylineView = new MKPolylineView (polyline);
polylineView.StrokeColor = UIColor.Blue;
polylineView.LineWidth = 5.0f;
return polylineView;
}
return null;
}
最佳答案
此代码用于Objective C并进行翻译。在地图上绘制路线polyLine,如下代码所示,
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! {
if overlay is MKPolyline {
var polylineRenderer = MKPolylineRenderer(overlay: overlay)
polylineRenderer.strokeColor = UIColor.blueColor()
polylineRenderer.lineWidth = 5
return polylineRenderer
}
return nil
}