Exemplo n.º 1
0
        /// <summary>
        /// Adds the fields.
        /// </summary>
        private void AddFields()
        {
            foreach (var field in this.myMap.Fields)
            {
                var connection = new TreeWatchDatabase();
                var query      = new DBQuery <Field>(connection);
                query.GetChildren(field);
                if (field.Blocks.Count != 0)
                {
                    foreach (var block in field.Blocks)
                    {
                        if (block.BoundingCoordinates.Count != 0 && block.BoundingCoordinates.Count >= 3)
                        {
                            this.Map.AddPolygon(GetPolygon(
                                                    FieldMapRenderer.ConvertCoordinates(block.BoundingCoordinates),
                                                    block.TreeType.ColorProp.ToAndroid()));
                        }
                    }
                }

                if (field.BoundingCoordinates.Count != 0 && field.BoundingCoordinates.Count >= 3)
                {
                    this.Map.AddPolygon(GetPolygon(
                                            FieldMapRenderer.ConvertCoordinates(field.BoundingCoordinates),
                                            this.myMap.OverLayColor.ToAndroid(),
                                            this.myMap.BoundaryColor.ToAndroid()));
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adds the fields to the map.
        /// </summary>
        private void AddFields()
        {
            var connection = new TreeWatchDatabase();

            foreach (var field in this.myMap.Fields)
            {
                var query         = new DBQuery <Field>(connection);
                var blockPolygons = new List <ColorPolygon>();
                query.GetChildren(field);
                if (field.Blocks.Count != 0)
                {
                    foreach (var block in field.Blocks)
                    {
                        if (block.BoundingCoordinates.Count != 0 && block.BoundingCoordinates.Count >= 3)
                        {
                            var blockPoints  = ConvertCoordinates(block.BoundingCoordinates);
                            var blockPolygon = (ColorPolygon)MKPolygon.FromCoordinates(blockPoints);
                            blockPolygon.FillColor = block.TreeType.ColorProp.ToCGColor();
                            blockPolygons.Add(blockPolygon);
                        }
                    }

                    var blockMultiPolygon = new MultiPolygon(blockPolygons);

                    this.mapView.AddOverlay(blockMultiPolygon);
                }

                if (field.BoundingCoordinates.Count != 0 && field.BoundingCoordinates.Count >= 3)
                {
                    var points  = ConvertCoordinates(field.BoundingCoordinates);
                    var polygon = MKPolygon.FromCoordinates(points);
                    polygon.Title = "Field";
                    this.mapView.AddOverlay(polygon);
                }
            }

            var query2   = new DBQuery <HeatMap>(connection);
            var heatmaps = query2.GetAllWithChildren();
            var heatmap  = heatmaps[0];

            this.AddHeatMap(heatmap.Points);
        }