* @function Theme.prototype.fire * @description 添加专题要素事件监听。 * @param {string} type - 事件类型。 * @param {string} event - 事件名称。
(type, event)
| 370 | * @param {string} event - 事件名称。 |
| 371 | */ |
| 372 | fire(type, event) { |
| 373 | if (!this.offset) { |
| 374 | return; |
| 375 | } |
| 376 | event = event.originalEvent; |
| 377 | var x = this.getX(event); |
| 378 | var y = this.getY(event); |
| 379 | var rotation = -this.map.getView().getRotation(); |
| 380 | var center = this.map.getPixelFromCoordinate(this.map.getView().getCenter()); |
| 381 | var scaledP = this.scale([x, y], center, this.pixelRatio); |
| 382 | var rotatedP = this.rotate(scaledP, rotation, center); |
| 383 | var resultP = [rotatedP[0] + this.offset[0], rotatedP[1] + this.offset[1]]; |
| 384 | var offsetEvent = document.createEvent('Event'); |
| 385 | offsetEvent.initEvent('pointermove', true, true); |
| 386 | offsetEvent.offsetX = resultP[0]; |
| 387 | offsetEvent.offsetY = resultP[1]; |
| 388 | offsetEvent.layerX = resultP[0]; |
| 389 | offsetEvent.layerY = resultP[1]; |
| 390 | offsetEvent.clientX = resultP[0]; |
| 391 | offsetEvent.clientY = resultP[1]; |
| 392 | offsetEvent.x = x; |
| 393 | offsetEvent.y = y; |
| 394 | if (type === 'click') { |
| 395 | this.renderer.handler._clickHandler(offsetEvent); |
| 396 | } |
| 397 | if (type === 'dblclick') { |
| 398 | this.renderer.handler._dblclickHandler(offsetEvent); |
| 399 | } |
| 400 | if (type === 'onmousewheel') { |
| 401 | this.renderer.handler._mousewheelHandler(offsetEvent); |
| 402 | } |
| 403 | if (type === 'mousemove') { |
| 404 | this.renderer.handler._mousemoveHandler(offsetEvent); |
| 405 | this.changed(); |
| 406 | } |
| 407 | if (type === 'onmouseout') { |
| 408 | this.renderer.handler._mouseoutHandler(offsetEvent); |
| 409 | } |
| 410 | if (type === 'onmousedown') { |
| 411 | this.renderer.handler._mousedownHandler(offsetEvent); |
| 412 | } |
| 413 | if (type === 'onmouseup') { |
| 414 | this.renderer.handler._mouseupHandler(offsetEvent); |
| 415 | } |
| 416 | |
| 417 | } |
| 418 | |
| 419 | getX(e) { |
| 420 | return typeof e.zrenderX != 'undefined' && e.zrenderX |
no test coverage detected