After multiple scratches, here's how to display MKPolyline on MKMapView:
Step 1: Create a Delegate Method for Map GetViewForOverlay
Map.GetViewForOverlay = Map_GetViewForOverlay;
Where Map is 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;
}
Step 2: Create a New MKPolyline Instance
MKPolyline line = MKPolyline.FromCoordinates(polyPoints);
Where polyPoints is an array of CLLocationCoordinate2D.
Step 3: add overlay to the map
Map.AddOverlay(line);
4:
Map.SetVisibleMapRect(line.BoundingMapRect, true);