Procházet zdrojové kódy

add primitive event

tags/2.2.3
Caven Chen před 4 roky
rodič
revize
c5d3dabed9

+ 14
- 4
modules/event/type/MouseEvent.js Zobrazit soubor

@@ -160,7 +160,7 @@ class MouseEvent extends Event {
}

// for Cesium3DTileFeature
if (target && target instanceof Cesium.Cesium3DTileFeature) {
else if (target && target instanceof Cesium.Cesium3DTileFeature) {
layer = this._viewer
.getLayers()
.filter(item => item.layerId === target.tileset.layerId)[0]
@@ -177,10 +177,10 @@ class MouseEvent extends Event {
}

// for Cesium3DTileset
if (
else if (
target &&
target?.primitive &&
target?.primitive instanceof Cesium.Cesium3DTileset
target.primitive &&
target.primitive instanceof Cesium.Cesium3DTileset
) {
layer = this._viewer
.getLayers()
@@ -190,6 +190,16 @@ class MouseEvent extends Event {
}
}

// for Primitve
else {
layer = this._viewer
.getLayers()
.filter(item => item.layerId === target.primitive.layerId)[0]
if (layer && layer.getOverlay) {
overlay = layer.getOverlay(target.primitive.overlayId)
}
}

return { layer: layer, overlay: overlay, feature: feature }
}


+ 1
- 0
modules/thirdpart/index.js Zobrazit soubor

@@ -10,6 +10,7 @@ const thirdPart = {
Cartesian3: Cesium.Cartesian3,
Matrix3: Cesium.Matrix3,
Matrix4: Cesium.Matrix4,
Material: Cesium.Material,
SceneMode: Cesium.SceneMode,
SkyBox: Cesium.SkyBox,
Color: Cesium.Color,

+ 27
- 1
modules/widget/type/ContextMenu.js Zobrazit soubor

@@ -177,8 +177,9 @@ class ContextMenu extends Widget {
this._overlay = layer.getOverlay(target.id.overlayId)
}
}

// for Cesium3DTileFeature
if (target && target instanceof Cesium.Cesium3DTileFeature) {
else if (target && target instanceof Cesium.Cesium3DTileFeature) {
let layer = this._viewer
.getLayers()
.filter(item => item.layerId === target.tileset.layerId)[0]
@@ -186,6 +187,31 @@ class ContextMenu extends Widget {
this._overlay = layer.getOverlay(target.tileset.overlayId)
}
}

// for Cesium3DTileset
else if (
target &&
target.primitive &&
target.primitive instanceof Cesium.Cesium3DTileset
) {
let layer = this._viewer
.getLayers()
.filter(item => item.layerId === target.primitive.layerId)[0]
if (layer && layer.getOverlay) {
this._overlay = layer.getOverlay(target.primitive.overlayId)
}
}

// for Primitve
else {
let layer = this._viewer
.getLayers()
.filter(item => item.layerId === target.primitive.layerId)[0]
if (layer && layer.getOverlay) {
this._overlay = layer.getOverlay(target.primitive.overlayId)
}
}

this._overlayMenu = this._overlay?.contextMenu || []
this._mountMenu()
}

Načítá se…
Zrušit
Uložit