Search code examples
xamarin.formsxamarin.iosgoogle-maps-sdk-ioscustom-renderer

Xamarin Forms MapRenderer OnMapReady event equivalent for iOS?


I need an equivalent event for an iOS renderer:

public class MyMapRenderer : Xamarin.Forms.Maps.Android.MapRenderer
{
    ...

    protected override void OnMapReady(GoogleMap map)
    {
        base.OnMapReady(map);

        // need to do things here
    }

    ...
}

Thanks


Solution

  • You can use MKMapViewDelegate_MapLoaded to handle your actions in iOS renderer:

     public class CustomMapRenderer : MapRenderer
        {
    
            protected override void OnElementChanged(ElementChangedEventArgs<View> e)
            {
                base.OnElementChanged(e);
    
                var nativeMap = Control as MKMapView;
    
                nativeMap.MapLoaded += NativeMap_MapLoaded;
    
            }
    
            private void NativeMap_MapLoaded(object sender, EventArgs e)
            {
                Console.WriteLine("NativeMap_MapLoaded");
            }
        }