示例#1
0
        private void txtWkt_TextChanged(object sender, EventArgs e)
        {
            var txt = txtWkt.Text;

            if (string.IsNullOrEmpty(txt))
            {
                return;
            }

            Gisoft.GeoAPI.Geometries.IGeometry geometry = null;
            try
            {
                geometry = _wktReader.Read(txt);
                if (geometry != _geometry)
                {
                    Geometry = geometry;
                }
                txtWkt.ForeColor = SystemColors.WindowText;
                lblError.Text    = "No Errors";
            }
            catch (Exception ex)
            {
                txtWkt.ForeColor = Color.Red;
                lblError.Text    = ex.Message;
            }
        }
        private void OnGeometryDefined(Gisoft.GeoAPI.Geometries.IGeometry geometry)
        {
            if (geometry == null)
            {
                return;
            }

            if (GeometryDefinedHandler != null)
            {
                GeometryDefinedHandler(geometry);
                return;
            }
        }
 private void DefaultGeometryDefinedMethod(Gisoft.GeoAPI.Geometries.IGeometry geom)
 {
     using (var frm = new WktGeometryCreator())
     {
         frm.Geometry = geom;
         if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
         {
             _geometryProvider.Geometries.Add(frm.Geometry);
             if (MapControl != null)
             {
                 var map = MapControl.Map ?? new Map();
                 if (!map.Layers.Contains(_layer))
                 {
                     map.Layers.Add(_layer);
                 }
                 MapControl.Refresh();
             }
         }
     }
 }