public MG_Layer ExportLayer(string table) { MG_Layer mgLayer = new MG_Layer(); mgLayer.SetLayerName(table);// // read ext mgLayer.Extent = this.GetExtent(table); MG_FieldSet fieldSet = this.GetFieldSet(table); mgLayer.FieldSet = fieldSet;// collect data mgLayer.FeatureSet = this.GetFeatureSet(mgLayer.GetFieldSet(), table); mgLayer.Type = mgLayer.FeatureSet.GetAt(0).Geometry.Type; return mgLayer; }
private void newLayer_Click(object sender, EventArgs e) { // get selected map first MG_Map map = this.getSelectedMap(); // new layer MG_Layer layer = new MG_Layer(); //set layer extent MG_MapExtent mapExt = map.GetMapExtent(); if (mapExt.Empty()) { layer.Extent = new MG_MapExtent(this.panel1.ClientRectangle); } else { layer.Extent = mapExt; } // get layer name AND type MG_DlgNewLayer dlg = new MG_DlgNewLayer(); dlg.InitializeLayerName(layer.GetLayerName()); dlg.InitializeLayerType(MG_GeometryType.LINESTRING); dlg.ShowDialog(); layer.SetLayerName(dlg.GetLayerName()); layer.SetLayerType(dlg.GetLayerType()); // add layer to map map.AddLayer(layer); // update m_gMapView this.updateMapView(); // add to treeview TreeNode layerNode = new TreeNode(); layerNode.Text = layer.GetLayerName(); layerNode.Checked = true; this.forceSelectedNodeToMap(); this.m_gSelectedNode.Nodes.Add(layerNode); this.m_gSelectedNode.ExpandAll(); // set selected node to layer node this.m_gSelectedNode = layerNode; this.treeViewContent.SelectedNode = this.m_gSelectedNode; this.Refresh(); // set state this.setState(); }