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;
                    }
                }
            }
  • 相关阅读:
    第四周查漏补缺20165307
    第四周作业 20165307
    第三周作业 20165307
    20165307 第一次测试总结
    20165307 预备作业3 Linux安装及学习
    20165307 学习基础和C语言基础调查
    20165307 我期望的师生关系
    第十周课下补做
    20165336 2016-2017-2 《Java程序设计》第9周学习总结
    20165336 实验三 敏捷开发与XP实践
  • 原文地址:https://www.cnblogs.com/myparamita/p/1520159.html
Copyright © 2011-2022 走看看