zoukankan      html  css  js  c++  java
  • 上一视图下一视图功能实现(C#+SuperMap Objects)

    SuperMap Objects实现上一视图下一视图功能
            //list 用于保存视图范围
            private List<SuperMapLib.soRect> m_extents = new List<SuperMapLib.soRect>();

            
    //视图存取list的最大限制数
            private int m_extentRecordsMax = 3;

            
    //当前显示视图在视图list中的index
            private int m_extentNowIndex = 0;

            
    //当前视图操作状态 next|last|other
            private String m_viewState = String.Empty;
            
            
    //上一视图
            private void btnLastView_Click(object sender, EventArgs e)
            {
                
    this.m_viewState="last";
                
    this.btnNextView.Enabled = true;
                
    if(this.m_extentNowIndex==0)
                {
                } 
                
    else if (this.m_extentNowIndex == 1)
                {
                    
    this.m_extentNowIndex = this.m_extentNowIndex - 1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                    
    this.btnLastView.Enabled = false;
                }

                
    else
                {
                    
    this.m_extentNowIndex=this.m_extentNowIndex-1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                }
            }

            
    //下一视图
            private void btnNextView_Click(object sender, EventArgs e)
            {
                
    this.m_viewState = "next";
                
    this.btnLastView.Enabled = true;
                
    if (this.m_extentNowIndex == this.m_extents.Count - 1)
                {
                }
                
    else if (this.m_extentNowIndex == this.m_extents.Count - 2)
                {
                    
    this.m_extentNowIndex = this.m_extentNowIndex + 1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                    
    this.btnNextView.Enabled = false;
                }
                
    else
                {
                    
    this.m_extentNowIndex = this.m_extentNowIndex + 1;
                    
    this.SuperMap1.ViewBounds = this.m_extents[this.m_extentNowIndex];
                    
    this.SuperMap1.Refresh();
                }
            }

            
    //地图绘制完成后动作
            private void SuperMap1_AfterMapDraw(object sender, AxSuperMapLib._DSuperMapEvents_AfterMapDrawEvent e)
            {
                
    if (this.m_viewState!="last"&& this.m_viewState!="next")
                {
                    
    if (this.m_extents.Count < m_extentRecordsMax)
                    {
                        
    this.m_extents.Add(this.SuperMap1.ViewBounds);
                        
    this.m_extentNowIndex = this.m_extents.Count - 1;
                        
    this.m_viewState = null;
                    }
                    
    else
                    {
                        
    this.m_extents.Add(this.SuperMap1.ViewBounds);
                        
    this.m_extents.RemoveAt(0);
                        
    this.m_extentNowIndex = this.m_extents.Count - 1;
                        
    this.m_viewState = null;
                    }
                }
            }
  • 相关阅读:
    GreenPlum 锁表以及解除锁定
    Postgresql 解决锁表
    Greenplum 查看连接与锁信息数据字典
    Greenplum 常用数据字典
    Linux 内核参数说明
    Greenplum 如何直连segment节点
    GreenPlum 数据备份与恢复
    unity 获取DontDestroyOnLoad的游戏对象
    scheduleOnce时出错,CCScheduler#scheduleSelector. Selector already scheduled. Updating interval from: 0 to 0"
    正比适配,留黑边
  • 原文地址:https://www.cnblogs.com/myparamita/p/1520159.html
Copyright © 2011-2022 走看看