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;
                    }
                }
            }
  • 相关阅读:
    maven解析xml+测试test+注解
    MyBatis简单了解
    获取字符串中不重复的第一个字符
    整合ssm集成框架
    Git版本控制的原理
    git优点缺点(简单介绍)
    Maven生命周期
    Maven仓库分类
    maven常用命令
    myVision云服务商业数据分析解决方案
  • 原文地址:https://www.cnblogs.com/myparamita/p/1520159.html
Copyright © 2011-2022 走看看