I've stumbled over some API inconsistencies or weirdness.
Take a look at e.g. https://developer.xamarin.com/api/property/MonoTouch.MapKit.MKMapView.GetViewForAnnotation/.
The property currently isn't useful, since you can't set a delegate (opposing to the doc's remarks).
All you can do is set a *single* annotationView instance.
I guess this is due to some auto generator stuff?
Same here: https://developer.xamarin.com/api/property/MonoTouch.MapKit.MKMapView.GetViewForOverlay/
Here it was done as expected/correctly: https://developer.xamarin.com/api/property/MonoTouch.MapKit.MKMapView.OverlayRenderer/
# Relevant API docs
So MKMapViewAnnotation, MKRendererForOverlayDelegate and MKMapViewOverlay are all delegates.
If you do:
and go to declaration you'll see.
So the property you're referring to (https://developer.xamarin.com/api/property/MonoTouch.MapKit.MKMapView.GetViewForAnnotation/) is actually taking a delegate not "a single annotationView instance".
Now I do concede that there are some *naming inconstancies* but everything is working as expected.
The delegates should all have "Delegate" in their name, so I'll leave the bug open set as low enhancement (since it's a breaking change) so we can fix the naming issues.