控件类,提供了多种控件,比如比例尺控件,鹰眼控件,缩放条控件等等。 用于处理 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 ()