Inheritance: ESRI.ArcGIS.ADF.BaseClasses.BaseDynamicLayer
    /// <summary>
    /// Occurs when this command is clicked
    /// </summary>
    public override void OnClick()
    {
      //make sure to switch into dynamic mode
      IDynamicMap dynamicMap = m_hookHelper.FocusMap as IDynamicMap;
      //make sure that the current Map supports the DynamicDisplay
      if (null == dynamicMap)
        return;

      if (!m_bIsConnected)
      {
        //make sure to switch into dynamic mode
        if (!dynamicMap.DynamicMapEnabled)
          dynamicMap.DynamicMapEnabled = true;

        //do some initializations...
        if (m_bOnce)
        {
          //initialize the dynamic layer
          m_dynamicLayer = new MyDynamicLayerClass();
          m_dynamicLayer.Name = "Dynamic Layer";

          m_bOnce = false;
        }

        //make sure that the layer did not get added to the map        
        bool bLayerHasBeenAdded = false;
        if (m_hookHelper.FocusMap.LayerCount > 0)
        {
          IEnumLayer layers = m_hookHelper.FocusMap.get_Layers(null, false);
          layers.Reset();
          ILayer layer = layers.Next();
          while (layer != null)
          {
            if (layer is MyDynamicLayerClass)
            {
              bLayerHasBeenAdded = true;
              break;
            }
            layer = layers.Next();
          }
        }

        if (!bLayerHasBeenAdded)
        {
          //add the dynamic layer to the map
          m_hookHelper.FocusMap.AddLayer(m_dynamicLayer);
        }
        //connect to the synthetic data source
        m_dynamicLayer.Connect();
      }
      else
      {
        //disconnect to the synthetic data source
        m_dynamicLayer.Disconnect();

        //delete the layer from the map
        m_hookHelper.FocusMap.DeleteLayer(m_dynamicLayer);

        //disable the dynamic display
        if (dynamicMap.DynamicMapEnabled)
          dynamicMap.DynamicMapEnabled = false;
      }

      //set the connected flag
      m_bIsConnected = !m_bIsConnected;
    }
Exemplo n.º 2
0
        /// <summary>
        /// Occurs when this command is clicked
        /// </summary>
        public override void OnClick()
        {
            //make sure to switch into dynamic mode
            IDynamicMap dynamicMap = m_hookHelper.FocusMap as IDynamicMap;

            //make sure that the current Map supports the DynamicDisplay
            if (null == dynamicMap)
            {
                return;
            }

            if (!m_bIsConnected)
            {
                //make sure to switch into dynamic mode
                if (!dynamicMap.DynamicMapEnabled)
                {
                    dynamicMap.DynamicMapEnabled = true;
                }

                //do some initializations...
                if (m_bOnce)
                {
                    //initialize the dynamic layer
                    m_dynamicLayer      = new MyDynamicLayerClass();
                    m_dynamicLayer.Name = "Dynamic Layer";

                    m_bOnce = false;
                }

                //make sure that the layer did not get added to the map
                bool bLayerHasBeenAdded = false;
                if (m_hookHelper.FocusMap.LayerCount > 0)
                {
                    IEnumLayer layers = m_hookHelper.FocusMap.get_Layers(null, false);
                    layers.Reset();
                    ILayer layer = layers.Next();
                    while (layer != null)
                    {
                        if (layer is MyDynamicLayerClass)
                        {
                            bLayerHasBeenAdded = true;
                            break;
                        }
                        layer = layers.Next();
                    }
                }

                if (!bLayerHasBeenAdded)
                {
                    //add the dynamic layer to the map
                    m_hookHelper.FocusMap.AddLayer(m_dynamicLayer);
                }
                //connect to the synthetic data source
                m_dynamicLayer.Connect();
            }
            else
            {
                //disconnect to the synthetic data source
                m_dynamicLayer.Disconnect();

                //delete the layer from the map
                m_hookHelper.FocusMap.DeleteLayer(m_dynamicLayer);

                //disable the dynamic display
                if (dynamicMap.DynamicMapEnabled)
                {
                    dynamicMap.DynamicMapEnabled = false;
                }
            }

            //set the connected flag
            m_bIsConnected = !m_bIsConnected;
        }