Apple's developer docs for the MKOverlayView class state that the DrawMapRect method will be called from multiple threads to improve performance. When implementing DrawMapRect, it is necessary to call instance methods such as PointForMapPoint. However, all instance methods call UIApplication.EnsureUIThread(), which throws an exception since DrawMapRect is not being called on the UI thread. According to Apple's docs, it should be possible to call these methods on a background thread. Is this a bug in Xamarin.iOS and is there a workaround for this problem? The Xamarin iOS 7 API's also have this problem.
Thanks! Matt