public void GenView(MKClusterAnnotation cluster) { AnnotationViewSize annotationSize = MapSettings.AnnotationSize; if (cluster != null) { var renderer = new UIGraphicsImageRenderer(new CGSize(annotationSize.Width, annotationSize.Height)); var count = cluster.MemberAnnotations.Length; Image = renderer.CreateImage((context) => { //circle UIColor.FromRGB(230, 141, 119).SetFill(); UIBezierPath.FromOval(new CGRect(0, 0, annotationSize.Width, annotationSize.Height)).Fill(); //text var attributes = new UIStringAttributes() { ForegroundColor = UIColor.Black, Font = UIFont.BoldSystemFontOfSize(20) }; var text = new NSString($"{count}"); var size = text.GetSizeUsingAttributes(attributes); var rect = new CGRect(20 - size.Width / 2, 20 - size.Height / 2, size.Width, size.Height); text.DrawString(rect, attributes); }); } }
private void SetViewMode(AnnotationViewSize viewSize) { if (viewSize == annotationViewSize) { return; } UpdateCardForSize(viewSize); annotationViewSize = viewSize; }
private void UpdateCardForSize(AnnotationViewSize viewSize) { cardMeshTransition.TransitionToViewSize(annotationData, viewSize); cardCanvasTransition.TransitionToViewSize(annotationData, viewSize); }
public abstract void TransitionToViewSize(AnnotationData data, AnnotationViewSize nextAnnotationViewSize);