private void GetTypeForAdd(object sender, UploadStringCompletedEventArgs e)
        {
            SFclsGeomType  geoType = ActiveLayerObj.OnGetGeomType(e);
            CAppendFeature fIno    = GetMapFeatureInfo(geoType);

            ActiveLayerObj.AppendFeature(fIno, new UploadStringCompletedEventHandler(GetAddOperResult));
        }
        private void CheckPolyType(object sender, UploadStringCompletedEventArgs e)
        {
            SFclsGeomType data = ActiveLayerObj.OnGetGeomType(e);

            if (data != SFclsGeomType.Reg)
            {
                MessageBox.Show("当前图层不能添加该几何类型的要素", "提示", MessageBoxButton.OK);
                return;
            }
            AddFeature(SFclsGeomType.Reg);
        }
        private void GetTypeForEdit(object sender, UploadStringCompletedEventArgs e)
        {
            SFclsGeomType geoType = ActiveLayerObj.OnGetGeomType(e);

            if (GraphicsLayer != null && m_graphics != null)
            {
                SFeatureGeometry geoObj = m_targetGeo as SFeatureGeometry;
                int n = 0;
                if (geoObj != null)
                {
                    if (geoObj.LinGeom != null && geoObj.LinGeom.Length > 0)
                    {
                        List <Point> pntArr = new List <Point>();
                        for (int i = 0; i < geoObj.LinGeom.Length; i++)
                        {
                            for (int j = 0; j < geoObj.LinGeom[i].Line.Arcs.Length; j++)
                            {
                                for (int k = 0; k < geoObj.LinGeom[i].Line.Arcs[j].Dots.Length; k++)
                                {
                                    geoObj.LinGeom[i].Line.Arcs[j].Dots[k].x = m_graphics.Points[n].X;
                                    geoObj.LinGeom[i].Line.Arcs[j].Dots[k].y = m_graphics.Points[n++].Y;
                                }
                            }
                        }
                    }
                    if (geoObj.PntGeom != null && geoObj.PntGeom.Length > 0)
                    {
                        geoObj.PntGeom[0].Dot.x = m_graphics.Points[0].X;
                        geoObj.PntGeom[0].Dot.y = m_graphics.Points[0].Y;
                    }
                    if (geoObj.RegGeom != null && geoObj.RegGeom.Length > 0)
                    {
                        List <Point> pntArr = new List <Point>();
                        for (int i = 0; i < geoObj.RegGeom[0].Rings.Length; i++)
                        {
                            for (int j = 0; j < geoObj.RegGeom[0].Rings[i].Arcs.Length; j++)
                            {
                                for (int k = 0; k < geoObj.RegGeom[0].Rings[i].Arcs[j].Dots.Length; k++)
                                {
                                    geoObj.RegGeom[0].Rings[i].Arcs[j].Dots[k].x = m_graphics.Points[n].X;
                                    geoObj.RegGeom[0].Rings[i].Arcs[j].Dots[k].y = m_graphics.Points[n++].Y;
                                }
                            }
                        }
                    }
                }
                GraphicsLayer.RemoveGraphics(m_graphics);
                m_graphics = null;
            }
            CAppendFeature fIno = GetMapFeatureInfo(geoType);

            if (fIno == null)
            {
                return;
            }
            ActiveLayerObj.UpdateFeature(fIno, new UploadStringCompletedEventHandler((s, evt) =>
            {
                if (m_layerDataViewer != null)
                {
                    m_layerDataViewer.UpdateRecord(fIno.FSet.AttValue);
                }
                GetEditOperResult(s, evt);
            }));
        }