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); })); }