Class: MouseEventHandler

olview~ MouseEventHandler


new MouseEventHandler()

鼠标事件控制器,主要控制鼠标相关消息的相应。

支持以下消息类型的相应:
1. Initialize 控制器被添加到视图中时触发
2. LeftDown 鼠标左键按下时触发
3. LeftUp 鼠标左键抬起时触发
4. LeftClick 鼠标左键单击时触发
5. LeftDoubleClick 鼠标左键双击时触发
6. RightDown 鼠标右键按下时触发
7. RightUp 鼠标右键抬起时触发
8. RightClick 鼠标右键单击时触发
9. MouseMove 鼠标移动时触发
10. Wheel 鼠标滚轴触发
11. Destroy 控制器从视图中移除时触发
Example
function clickCallback(mapBrowserEvent) {
    var pixel = mapBrowserEvent.pixel;
    var coordinate = olView.pickPosition(pixel);
    console.log(coordinate);
}
var clickHandler = new sg.olview.MouseEventHandler();
clickHandler.setHandle('LeftClick', clickCallback);
olView.setHandlers(clickHandler);

Extends

Methods


getHandle(type)

根据消息类型获取相应的控制函数(回调函数)
Parameters:
Name Type Description
type string 消息类型

setHandle(type, handle)

Parameters:
Name Type Description
type string 消息类型
handle function | Callback 控制函数(回调函数)

initialize()

当控制器被添加到视图中时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('Initialize', callback),指定当控制器被添加到视图中时的控制函数
Overrides:

handleLeftDown(mapBrowserEvent)

鼠标左键按下时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftDown', callback),指定鼠标左键按下时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleLeftUp(mapBrowserEvent)

鼠标左键抬起时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftUp', callback),指定鼠标左键抬起时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleLeftClick(mapBrowserEvent)

鼠标左键单击时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftClick', callback),指定鼠标左键单击时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleLeftDoubleClick(mapBrowserEvent)

鼠标左键双击时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('LeftDoubleClick', callback),指定鼠标左键双击时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleRightDown(mapBrowserEvent)

鼠标右键按下时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('RightDown', callback),指定鼠标右键按下时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleRightUp(mapBrowserEvent)

鼠标右键抬起时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('RightUp', callback),指定鼠标右键抬起时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleRightClick(mapBrowserEvent)

鼠标右键单击时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('RightClick', callback),指定鼠标右键单击时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleMouseMove(mapBrowserEvent)

鼠标移动时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('MouseMove', callback),指定鼠标移动时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

handleWheel(mapBrowserEvent)

鼠标滚轮滚动时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('Wheel', callback),指定鼠标滚轮滚动时的控制函数
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件

destroy()

当控制器从视图中移除时的控制函数,默认的控制函数什么都没处理,返回true 可以通过setHandle('Destroy', callback),指定当控制器从视图中移除时的控制函数
Overrides:

getView()

获取当前控制器的视图对象
Inherited From:
Overrides:

getHitTolerance()

获取像素容差
Inherited From:
Overrides:

setHitTolerance(value)

设置像素容差
Parameters:
Name Type Description
value Number 像素容差
Inherited From:
Overrides:

<abstract> handleEvent(mapBrowserEvent)

处理地图事件,自定义控制器必须重写此方法,返回值会影响视图中其他控制器和地图默认操作是否生效。 视图中可以有多个控制器,按照添加的先后顺序,地图事件会从后向前进行传递,如果当前控制器返回false或者默认不返回值,则会终止事件继续向前传递, 那么在此控制器前面的控制器或者地图默认操作会接收不到地图事件而失效,返回true会继续传递地图事件。
Parameters:
Name Type Description
mapBrowserEvent ol.MapBrowserEvent openlayers的地图事件
Inherited From:
Overrides:
Returns:
是否继续响应事件,返回false或者默认不返回值会终止事件继续向前传递.
Type
boolean

dispatchEvent(event)

发送事件消息,每个事件消息都有类型(type),所有监听此对象对应类型事件的监听者都会接收到相应的事件消息
Parameters:
Name Type Description
event string | module:events.Event 事件对象
Inherited From:
Overrides:

on(type, listener [, opt_this])

指定监听器监听指定类型的事件
Parameters:
Name Type Argument Default Description
type string 事件类型
listener callback | function 监听器
opt_this Object <optional>
target 在监听器中的`this`所指示的对象,默认是`target`自身
Inherited From:
Overrides:
Returns:
监听器的唯一标识.
Type
Object

once(type, listener [, opt_this])

指定监听器只监听一次指定类型的事件
Parameters:
Name Type Argument Default Description
type string 事件类型
listener callback | function 监听器
opt_this Object <optional>
target 在监听器中的`this`所指示的对象,默认是`target`自身
Inherited From:
Overrides:
Returns:
监听器的唯一标识.
Type
Object

un(type, listener [, opt_this])

取消指定监听器监听指定类型的事件
Parameters:
Name Type Argument Default Description
type string 事件类型
listener callback | function 监听器
opt_this Object <optional>
target 在监听器中的`this`所指示的对象,默认是`target`自身
Inherited From:
Overrides:

unByKey(key)

根据监听器的唯一标识取消指定监听器监听事件,监听器的唯一标识通过`on()`或者`once()`返回得到
Parameters:
Name Type Description
key Object | Array.<Object> 监听器的唯一标识,通过`on()`或者`once()`返回得到,可以是多个监听器的唯一标识数组
Inherited From:
Overrides: