ArcGISPortalViewer.Controls.MeasureDisplayControl.OnStatusReported C# (CSharp) Метод

OnStatusReported() приватный Метод

Updates the m_Polyline and MeasureItemsCollection based on the progress reported by Esri.ArcGISRuntime.Controls.Editor
private OnStatusReported ( GeometryEditStatus status ) : void
status GeometryEditStatus
Результат void
        private void OnStatusReported(GeometryEditStatus status)
        {
            var polyline = status.NewGeometry as Polyline;

            // Only reset display when first vertex is committed.
            if (polyline != null && polyline.Parts != null && polyline.Parts.Count > 0)
            {
                var vertices = polyline.Parts[0].GetPoints();
                if (vertices != null && vertices.Count() == 1)
                    ResetDisplay();
            }

            switch (status.GeometryEditAction)
            {
                case GeometryEditAction.AddedVertex:
                {
                    MeasureItemCollection.Insert(status.VertexPosition.CoordinateIndex,
                        new MeasureItem()
                        {
                            Location = status.NewVertex,
                            LinearUnitType = LinearUnitType,
                            CoordinateFormat = CoordinateFormat
                        });
                    break;
                }
                case GeometryEditAction.DeletedVertex:
                {
                    MeasureItemCollection.RemoveAt(status.VertexPosition.CoordinateIndex);
                    break;
                }
                default:
                {
                    MeasureItemCollection.Clear();
                    if (polyline != null && polyline.Parts != null)
                    {
                        foreach (var p in polyline.Parts[0].GetPoints())
                        {
                            MeasureItemCollection.Add(new MeasureItem()
                            {
                                Location = p,
                                LinearUnitType = LinearUnitType,
                                CoordinateFormat = CoordinateFormat
                            });
                        }
                    }
                    break;
                }
            }
            UpdateDisplay(polyline);
        }