在supermap地图上生成多个弹窗后无法一一关闭的解决方法

最开始遇到的问题是这样子的,用supermap为底图,在地图上所有点击生成的窗体,这些点击生成的点都是放在一个数组里面的了,所以想要实现的效果是,每次点击“撤出最后”按钮的时候只关闭隐藏销毁最后一个弹窗。纳闷了一天,终于解决,记录下。
(看下图)
在supermap地图上生成多个弹窗后无法一一关闭的解决方法

想要在每次点击弹窗右上角按钮的时候,排序最后的一个定位窗口就隐藏消失
但是之前我用的以下的代码却只能作用一次去移除最后一个,看代码

function clickright(){
           laymarkers.events.on({
                "click": canelPoP,
                "scope": laymarkers
            });
     }
     
      
      //用于对消息框的删除
      function canelPoP(event){
              if (infowinPop) {
                    try {
                        infowinPop.hide();//隐藏窗体对象
                        infowinPop.destroy();//销毁窗体对象
                        laymarkers.removeMarker(laymarker);
                    }
                    catch (e) {
                    }
                }
      }

后面才发现了问题,原来是我在canelPoP()消息框的删除方法那里这是删除了单个infowinPop而没有放在我生成点的时候的数组。废话不多说,直接上我最后最新的代码!

//用于对消息框的删除
	      function canelPoP(event){
		      if (arraydd[arraydd.length-1]) {
	              try {
	                  arraydd[arraydd.length-1].hide();//隐藏窗体对象
	                  arraydd[arraydd.length-1].destroy();//销毁窗体对象
	                  laymarkers.removeMarker(arraylaymarker[arraydd.length-1]);
	              }
		          catch (e) {
		          }
			  }
	      }

用数组的最后一个值就可以啦啦啦,当然重点还是要在每次点击步骤还是要先是销毁地图上的弹窗,再移除数组。