/// <summary> /// Adds a polygon to the map /// </summary> /// <param name="polygon">The polygon to add</param> private void AddPolygon(TKPolygon polygon) { polygon.PropertyChanged += OnPolygonPropertyChanged; var polygonOptions = new PolygonOptions(); if (polygon.Coordinates != null && polygon.Coordinates.Any()) { polygonOptions.Add(polygon.Coordinates.Select(i => i.ToLatLng()).ToArray()); } if (polygon.Color != Color.Default) { polygonOptions.InvokeFillColor(polygon.Color.ToAndroid().ToArgb()); } if (polygon.StrokeColor != Color.Default) { polygonOptions.InvokeStrokeColor(polygon.StrokeColor.ToAndroid().ToArgb()); } polygonOptions.InvokeStrokeWidth(polygonOptions.StrokeWidth); this._polygons.Add(polygon, this._googleMap.AddPolygon(polygonOptions)); }
/// <summary> /// Adds a polygon to the map /// </summary> /// <param name="polygon">Polygon to add</param> private void AddPolygon(TKPolygon polygon) { var mkPolygon = MKPolygon.FromCoordinates(polygon.Coordinates.Select(i => i.ToLocationCoordinate()).ToArray()); this._polygons.Add(mkPolygon, new TKOverlayItem<TKPolygon,MKPolygonRenderer>(polygon)); this.Map.AddOverlay(mkPolygon); polygon.PropertyChanged += OnPolygonPropertyChanged; }