//---------------------------------------------------------------------------------------- // �� �ܣ� ��Ӳ㵽���飬������鲻���ڣ��� // // �� �ߣ� // // // �� �ڣ�2007.05.# // //----------------------------------------------------------------------------------------- public void AddLayerToGroup(MgLayer layer, string layerGroupName, string layerGroupLegendLabel, MgMap map) { // ��ȡ���� MgLayerGroupCollection layerGroupCollection = map.GetLayerGroups(); MgLayerGroup layerGroup = null; if (layerGroupCollection.Contains(layerGroupName)) { layerGroup = layerGroupCollection.GetItem(layerGroupName); } else { // ���û�д��ڣ������� layerGroup = new MgLayerGroup(layerGroupName); layerGroup.SetVisible(true); layerGroup.SetDisplayInLegend(true); layerGroup.SetLegendLabel(layerGroupLegendLabel); layerGroupCollection.Add(layerGroup); } layerGroup.SetDisplayInLegend(true); // ��Ӳ㵽���� layer.SetGroup(layerGroup); }
public void OpenMarkup() { MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService); MgMap map = new MgMap(); map.Open(resourceService, GetParameter(this.args, "MAPNAME")); // Create the Layer Groups MgLayerGroup markupGroup = null; MgLayerGroupCollection layerGroups = map.GetLayerGroups(); if (layerGroups.Contains("_Markup")) { markupGroup = layerGroups.GetItem("_Markup"); } else { markupGroup = new MgLayerGroup("_Markup"); markupGroup.SetVisible(true); markupGroup.SetLegendLabel("Markup"); markupGroup.SetDisplayInLegend(false); layerGroups.Add(markupGroup); } // Add the Markup Layer MgResourceIdentifier markupLayerResId = new MgResourceIdentifier(GetParameter(this.args, "MARKUPLAYER")); MgLayer markupLayer = new MgLayer(markupLayerResId, resourceService); markupLayer.SetName("_" + markupLayerResId.GetName()); markupLayer.SetLegendLabel(markupLayerResId.GetName()); markupLayer.SetDisplayInLegend(false); markupLayer.SetSelectable(true); markupLayer.SetGroup(markupGroup); map.GetLayers().Insert(0, markupLayer); map.Save(resourceService); }
public Hashtable GetOpenMarkup() { Hashtable openMarkup = new Hashtable(); MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService); MgMap map = new MgMap(); map.Open(resourceService, GetParameter(this.args, "MAPNAME")); MgLayerGroupCollection layerGroups = map.GetLayerGroups(); if (layerGroups.Contains("_Markup")) { MgLayerCollection layers = map.GetLayers(); for (int i = 0; i < layers.GetCount(); i++) { MgLayer layer = (MgLayer)layers.GetItem(i); if ((layer.GetGroup() != null) && (layer.GetGroup().GetName().Equals("_Markup"))) { openMarkup[libraryPath + layer.GetLegendLabel() + ".LayerDefinition"] = layer.GetLegendLabel(); } } } return openMarkup; }
private void BuildLayerTree(MgMap map) { System.Collections.Hashtable knownGroups = new System.Collections.Hashtable(); System.Collections.ArrayList unresolved = new System.Collections.ArrayList(); MgLayerGroupCollection groups = map.GetLayerGroups(); for (int i = 0; i < groups.GetCount(); i++) { MgLayerGroup rtGroup = groups.GetItem(i); Legend.TreeItem node = new Legend.TreeItem(rtGroup.GetName(), true, rtGroup, null); knownGroups.Add(node.name, node); MgLayerGroup parentGroup = rtGroup.GetGroup(); if (parentGroup == null) { this.tree.Add(node); } else { string parentName = parentGroup.GetName(); Legend.TreeItem parentNode = (Legend.TreeItem)knownGroups[parentName]; if (parentNode != null) { parentNode.Attach(node); } else { node.parentName = parentName; unresolved.Add(node); } } } if (unresolved.Count > 0) { for (int i = 0; i < unresolved.Count; i++) { Legend.TreeItem node = (Legend.TreeItem)unresolved[i]; Legend.TreeItem parentNode = (Legend.TreeItem)knownGroups[node.parentName]; if (parentNode != null) { parentNode.Attach(node); } else { this.tree.Add(node); } } } MgLayerCollection layers = map.GetLayers(); for (int i = 0; i < layers.GetCount(); i++) { if (layers.GetItem(i).GetDisplayInLegend()) { MgLayer rtLayer = (MgLayer)layers.GetItem(i); MgResourceIdentifier resId = rtLayer.GetLayerDefinition(); Legend.TreeItem node = new Legend.TreeItem(rtLayer.GetName(), false, rtLayer, this.resSrvc.GetResourceContent(resId).ToString()); MgLayerGroup parentGroup = rtLayer.GetGroup(); if (parentGroup == null) { this.tree.Add(node); } else { Legend.TreeItem parentNode = (Legend.TreeItem)knownGroups[parentGroup.GetName()]; if (parentNode != null) { parentNode.Attach(node); } else { this.tree.Add(node); } } } } }