protected MKOverlayRenderer OverlayRenderer(MKMapView mapview, IMKOverlay overlay) { if (!(Runtime.GetNSObject(overlay.Handle) is MKCircle circle)) { return(new MKTileOverlayRenderer((MKTileOverlay)overlay)); } return(PointHandler.GetCircleRenderer(circle)); }
protected override void OnElementChanged(ElementChangedEventArgs <View> e) { base.OnElementChanged(e); if (e.NewElement != null) { this.map = Control as MKMapView; TileOverlay = new CustomTileProvider( (IReadOnlyTileService)((App)Application.Current).Container.Resolve(typeof(IReadOnlyTileService))); if (this.map != null) { this.map.AddOverlay(TileOverlay); PointHandler = new PointHandler { Map = this.map, Points = CustomMap.Points, }; this.map.OverlayRenderer = OverlayRenderer; PointHandler.OnMapClicked += OnMapClicked; } } }