控件类,提供了多种控件,比如比例尺控件,鹰眼控件,缩放条控件等等。 用于处理 Control 事件的事件处理器 Handler,内部封装了一系列的浏览器事件, 在控件(control)实现过程中可调用Handler,通过 active和 deactive两个方法,实现动态的激活和注销。
可见控件不需要使用 activate 方法激活便可以使用。
对于非可见控件来说, 带有 autoActivate 属性并且默认值为 true 的控件会在使用时自动激活;
对于不具备 autoActivate 属性的控件,由于父类Control类中的 autoActivate 属性默认值为false, 所以使用这些控件需要调用 activate 方法进行激活控件,也可通过设置父类的 autoActivate 属性为 true 来激活。
控件影响地图显示和地图操作,在没有指定控件的情况下,地图默认添加 Navigation、PanZoomBar 控件。 也可通过参数options传入的div添加控件到一个外部的div。
下面的示例演示如何在地图上添加多种控件的方法:
       var map = new SuperMap.Map('map', { controls: [] });
map.addControl(new SuperMap.Control.LayerSwitcher({'ascending':false}));
map.addControl(new SuperMap.Control.MousePosition());
map.addControl(new SuperMap.Control.OverviewMap());
map.addControl(new SuperMap.Control.KeyboardDefaults());
      
      下面的代码片段是一个关于用户如何截获按住Shift键的同时移动鼠标拖出的边界框的范围事件的简单的例子,如下:
       var control = new SuperMap.Control();
SuperMap.Util.extend(control, {
    draw: function () {
        this.box = new SuperMap.Handler.Box( control,
            {"done": this.notice},
            {keyMask: SuperMap.Handler.MOD_SHIFT});
        this.box.activate();
    },
    notice: function (bounds) {
    }
});
map.addControl(control);
      
      
      | SuperMap. | 控件类,提供了多种控件,比如比例尺控件,鹰眼控件,缩放条控件等等。 用于处理 Control 事件的事件处理器 Handler,内部封装了一系列的浏览器事件, 在控件(control)实现过程中可调用Handler,通过 active和 deactive两个方法,实现动态的激活和注销。 | 
| Properties | |
| active | {Boolean} 用户判定控件是否激活状态(只读),用activate、deactivate方法可以改变控件的状态。 | 
| autoActivate | {Boolean} 当控件添加到地图上时激活此控件。默认为false。 | 
| div | {DOMElement} 存放此控件的DOM元素,如果不指定则控件默认放置在地图内部。 | 
| eventListeners | {Object} 如果设置为构造函数的一个选项,eventListeners将被SuperMap.Events.on 注册, 对象结构必须是一个监听器对象,具体例子详细参见events.on方法。 | 
| events | {SuperMap.Events} 注册控件特定事件的监听器实例。 | 
| id | {String} 控件的id | 
| title | {string} 此属性用来在控件上显示一个提示框。 | 
| type | {Number} 控件的类型。 | 
| Constants | |
| EVENT_TYPES | {Array(String)} 支持的事件类型。注册特定事件的监听器,示例如下: | 
| Constructor | |
| SuperMap. | 创建控件,options作为参数传递直接扩展控件.如下面的例子所示: | 
| Functions | |
| activate | 激活控件及其相关的处理事件(handler),控件失效调用deactivate方法。 | 
| deactivate | 使控件及其相关的处理事件(handler)失效。 | 
| Constants | |
| SuperMap. | {String} 控件的样式,此值需在创建控件前设置。 提供两套样式:一套为”WHITE”,即白色样式,另一套为”BLUE”,即蓝色样式。默认为白色样式:SuperMap.Control.SKIN=”WHITE”。 其中,白色样式只支持Zoom、LayerSwitcher、OverviewMap三个控件。 | 
| SuperMap. | |
| SuperMap. | |
| SuperMap. | 
激活控件及其相关的处理事件(handler),控件失效调用deactivate方法。
activate: function () 
使控件及其相关的处理事件(handler)失效。
deactivate: function ()