这里常用的功能主要指地图的基本操作,如放大、缩小、全局显示、框选、圆选什么的。是我们在系统中最常用到的功能。分析下demo可以看出这些基本操作supermap都将其封装为了一个SuperMap.IS.Action.js这个文件,里面的基类就是SuperMap.IS.Action这个类了。主要包括Init,Destroy,OnClick,OnDoubleClick,OnmouseMove 等鼠标事件,就不详细列了。当我们编程时使用MapControl1.SetAction(action)时,就会调用action中的init函数,并将地图上的操作监听起来,通过鼠标的与地图的交互来完成我们的一些操作。所以我们可以根据其SuperMap.IS.Action这个基类来写我们自己的一些action

    下面来自己封装下对应的一些常用功能函数,便于以后的重用。

先贴代码,^_^


Code

 

 

通过编程我们发现常用的功能还是很容易实现的,supermap已经将常用的功能封装好供我们简单的调用,只用new 出一个对应的action,并绑定到mapctrol中就可以使用。就关于点查询等需要处理查询结果的需要写相关查询结果处理函数,如上面的onQueryComplete函数,它会返回一个result的参数,即结果数据集(不知道为什么,好像圆选会有些问题......)。相比AGS来说,会感觉实现这些功能比较简单多,不像ADF中得写相关实现ImapServerToolAction的类及相关代码。有兴趣的可以试试自己写写自定义的action,如过去点击点的坐标等。^_^