欢迎来到天天文库
浏览记录
ID:14756908
大小:78.50 KB
页数:8页
时间:2018-07-30
《自定义工具完全教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、自定义工具完全教程(原创)1/2一、Client--页面上的Tag:二、Client--clientActionclientAction是指一个javascript类,这个类必须继承EsriMapToolItem,并要重载几个函数:附件11.首先是:Object.inherits
2、From(Objectparent),这是Esri添加到所有js对象上的函数扩展,用于继承父类2.EsriMapToolItem的函数包括:EsriMapToolItem的构造函数:EsriMapToolItem(Stringid, //3、Action)、框选(EsriDrawRectangleAction)等。EsriAction有函数:voidactivate() 用来注册鼠标、键盘事件引发的函数,参数随EsriAction子类不同而不同voiddeactivate() 取消事件注册以下的继承函数可能要重写:voidactivate() 指工具按钮按下后引发的事件处理; 这个函数已由EsriMapToolItem实现,除非定制,一般不重写。voiddeactivate()指选中别的按钮时,本按钮非活动时引发的事件处理; 这个函数已由EsriMap4、ToolItem实现,除非定制,一般不重写。voidpostAction()地图操作进行完后激发,一般在这里向服务器端提交地图操作参数; 这个函数一般被注册在实现类自带的EsriAction.activate参数中(由EsriMapToolItem实现);3.从EsriMapToolItem的继承的属性:EsriActionaction 本MapToolItem所定义的EsriActionbool isActive本MapToolItem是否处于活动状态EsriControlcontrol本MapToolItem所作用5、的控件,如地图(map) 4.可以在页面添加如下代码: functionMyClientAction(id,toolName,isMarker){ this.inheritsFrom(newEsriMapToolItem(id,toolName,newEsriDrawPointAction(),isMarker)); this.activate=function(){ if(this.actio6、n){ //如果action存在,注册this.postAction作为点击地图后的回调函数 this.action.activate(this.element,this.postAction); } this.isActive=true; alert("activated"); } this.deactivate=function(){ if(this.action){ this.action.deactivate(); 7、 } this.isActive=false; alert("deactivated"); } this.postAction=function(point){ alert("postActionx="+point.x+";"+point.y); } } 8、tAction="MyClientAction"serverAction="com.brsc.MyServerAction"clientPostBack="false"/>-------------------------------------------------------编译后的
3、Action)、框选(EsriDrawRectangleAction)等。EsriAction有函数:voidactivate() 用来注册鼠标、键盘事件引发的函数,参数随EsriAction子类不同而不同voiddeactivate() 取消事件注册以下的继承函数可能要重写:voidactivate() 指工具按钮按下后引发的事件处理; 这个函数已由EsriMapToolItem实现,除非定制,一般不重写。voiddeactivate()指选中别的按钮时,本按钮非活动时引发的事件处理; 这个函数已由EsriMap
4、ToolItem实现,除非定制,一般不重写。voidpostAction()地图操作进行完后激发,一般在这里向服务器端提交地图操作参数; 这个函数一般被注册在实现类自带的EsriAction.activate参数中(由EsriMapToolItem实现);3.从EsriMapToolItem的继承的属性:EsriActionaction 本MapToolItem所定义的EsriActionbool isActive本MapToolItem是否处于活动状态EsriControlcontrol本MapToolItem所作用
5、的控件,如地图(map) 4.可以在页面添加如下代码: functionMyClientAction(id,toolName,isMarker){ this.inheritsFrom(newEsriMapToolItem(id,toolName,newEsriDrawPointAction(),isMarker)); this.activate=function(){ if(this.actio
6、n){ //如果action存在,注册this.postAction作为点击地图后的回调函数 this.action.activate(this.element,this.postAction); } this.isActive=true; alert("activated"); } this.deactivate=function(){ if(this.action){ this.action.deactivate();
7、 } this.isActive=false; alert("deactivated"); } this.postAction=function(point){ alert("postActionx="+point.x+";"+point.y); } }
8、tAction="MyClientAction"serverAction="com.brsc.MyServerAction"clientPostBack="false"/>-------------------------------------------------------编译后的
此文档下载收益归作者所有