Selaa lähdekoodia

add layer mouse event

tags/2.4.1
Caven Chen 4 vuotta sitten
vanhempi
commit
c6e988fefb
2 muutettua tiedostoa jossa 23 lisäystä ja 2 poistoa
  1. 3
    1
      modules/event/EventType.js
  2. 20
    1
      modules/event/type/MouseEvent.js

+ 3
- 1
modules/event/EventType.js Näytä tiedosto



const LayerEventType = { const LayerEventType = {
...BaseEventType, ...BaseEventType,
CLICK: Cesium.ScreenSpaceEventType.LEFT_CLICK
CLICK: Cesium.ScreenSpaceEventType.LEFT_CLICK,
RIGHT_CLICK: Cesium.ScreenSpaceEventType.RIGHT_CLICK,
DB_CLICK: Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK
} }


const TrackEventType = { const TrackEventType = {

+ 20
- 1
modules/event/type/MouseEvent.js Näytä tiedosto

let event = undefined let event = undefined
let targetInfo = this._getTargetInfo(mouseInfo.target) let targetInfo = this._getTargetInfo(mouseInfo.target)
let overlay = targetInfo?.overlay let overlay = targetInfo?.overlay
let layer = targetInfo?.layer
// get Overlay Event // get Overlay Event
if (overlay?.overlayEvent) { if (overlay?.overlayEvent) {
event = overlay.overlayEvent.getEvent(type) event = overlay.overlayEvent.getEvent(type)
} }


// get Layer Event
if ((!event || event.numberOfListeners === 0) && layer?.layerEvent) {
event = layer.layerEvent.getEvent(type)
}

// get Viewer Event // get Viewer Event
if (!event || event.numberOfListeners === 0) {
if (
(!event || event.numberOfListeners === 0) &&
this._viewer?.viewerEvent
) {
event = this._viewer.viewerEvent.getEvent(type) event = this._viewer.viewerEvent.getEvent(type)
} }

event && event &&
event.numberOfListeners > 0 && event.numberOfListeners > 0 &&
event.raiseEvent({ event.raiseEvent({
let drillInfos = this._getDrillInfos(mouseInfo.windowPosition) let drillInfos = this._getDrillInfos(mouseInfo.windowPosition)
drillInfos.forEach(drillInfo => { drillInfos.forEach(drillInfo => {
let dillOverlay = drillInfo?.overlay let dillOverlay = drillInfo?.overlay
let dillLayer = drillInfo?.layer
if ( if (
dillOverlay?.overlayId !== overlay.overlayId && dillOverlay?.overlayId !== overlay.overlayId &&
dillOverlay?.overlayEvent dillOverlay?.overlayEvent
) { ) {
// get Overlay Event
event = dillOverlay.overlayEvent.getEvent(type) event = dillOverlay.overlayEvent.getEvent(type)
// get Layer Event
if (
(!event || event.numberOfListeners === 0) &&
dillLayer?.layerEvent
) {
event = dillLayer.layerEvent.getEvent(type)
}
event && event &&
event.numberOfListeners > 0 && event.numberOfListeners > 0 &&
event.raiseEvent({ event.raiseEvent({

Loading…
Peruuta
Tallenna