diff --git a/src/Global/SplitScreen/index.js b/src/Global/SplitScreen/index.js index d80440a..8df76aa 100644 --- a/src/Global/SplitScreen/index.js +++ b/src/Global/SplitScreen/index.js @@ -278,7 +278,7 @@ async function init(sdk) { sdk.viewer.scene.preRender.addEventListener(syncViewer, syncObject) // sdk.viewer.imageryLayers.layerAdded.addEventListener(syncImageryLayerAdded); - // sdk.viewer.imageryLayers.layerMoved.addEventListener(syncImageryLayerMoved); + sdk.viewer.imageryLayers.layerMoved.addEventListener(syncImageryLayerMoved); // sdk.viewer.imageryLayers.layerRemoved.addEventListener(syncImageryLayerRemoved); // sdk.viewer.imageryLayers.layerShownOrHidden.addEventListener(syncImageryLayerShownOrHidden); @@ -711,6 +711,9 @@ async function setSplitDirection(v, id, isoff = false, entityId) { status.P = true status.D = true options.show = true + if(thatP.type==='layer') { + options.layer_index = thatP.layer_index + } target = await new thatP.constructor(sdkD, options) if (thatP.onClick) { target.onClick = thatP.onClick @@ -794,6 +797,9 @@ async function setSplitDirection(v, id, isoff = false, entityId) { status.P = false status.D = true options.show = true + if(thatP.type==='layer') { + options.layer_index = thatP.layer_index + } target = await new thatP.constructor(sdkD, options) if (thatP.onClick) { target.onClick = thatP.onClick @@ -1033,7 +1039,13 @@ function syncImageryLayerAdded(layer, index) { sdkD.viewer.imageryLayers.addImageryProvider(layer.imageryProvider, index) } function syncImageryLayerMoved(layer, newindxe, oldindex) { - let layerD = sdkD.viewer.imageryLayers._layers[oldindex] + let layerD + for (let i = 0; i < sdkD.viewer.imageryLayers._layers.length; i++) { + if (sdkD.viewer.imageryLayers._layers[i]._id === layer._id) { + layerD = sdkD.viewer.imageryLayers._layers[i] + break + } + } if (!layerD) { return } @@ -1042,12 +1054,14 @@ function syncImageryLayerMoved(layer, newindxe, oldindex) { sdkD.viewer.imageryLayers.lowerToBottom(layerD) } // 移到最高层 - else if (newindxe === sdk.viewer.imageryLayers._layers.length - 1) { + else if (newindxe === sdkD.viewer.imageryLayers._layers.length - 1) { sdkD.viewer.imageryLayers.raiseToTop(layerD) } else { if (newindxe < oldindex) { - sdkD.viewer.imageryLayers.lower(layerD) + if(newindxe