Exemple #1
0
 //----------------------------------------------------------------------------------------
 // �� �ܣ� ��Ӳ㵽���飬������鲻���ڣ��򴴽�
 //
 // �� �ߣ�
 //
 //
 // �� �ڣ�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);
 }
Exemple #2
0
        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);
        }
Exemple #3
0
        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;
        }
Exemple #4
0
 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);
                 }
             }
         }
     }
 }