卷帘对比下图层层级修改同步

This commit is contained in:
zh
2025-07-08 16:48:22 +08:00
parent 5431efa2c5
commit 16942a2e63
6 changed files with 24 additions and 6 deletions

View File

@ -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<sdkD.viewer.imageryLayers._layers.length-1) {
sdkD.viewer.imageryLayers.lower(layerD)
}
}
else {
sdkD.viewer.imageryLayers.raise(layerD)

View File

@ -33,6 +33,7 @@ class ArcgisLayer extends BaseLayer {
} else {
this.entity = this.sdk.viewer.imageryLayers.addImageryProvider(imageryProvider,)
}
this.entity._id = this.options.id
for (let i = 0; i < this.sdk.viewer.imageryLayers._layers.length; i++) {
if (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider && this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type && (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'flw' || this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'jww')) {
let layer = this.sdk.viewer.imageryLayers._layers[i]

View File

@ -30,6 +30,7 @@ class GdImagery extends BaseLayer {
} else {
this.entity = this.sdk.viewer.imageryLayers.addImageryProvider(gdLayer,)
}
this.entity._id = this.options.id
for (let i = 0; i < this.sdk.viewer.imageryLayers._layers.length; i++) {
if (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider && this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type && (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'flw' || this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'jww')) {
let layer = this.sdk.viewer.imageryLayers._layers[i]

View File

@ -126,6 +126,7 @@ class Layer extends BaseLayer {
this.entity =
this.sdk.viewer.scene.imageryLayers.addImageryProvider(layer,)
}
this.entity._id = this.options.id
for (let i = 0; i < this.sdk.viewer.imageryLayers._layers.length; i++) {
if (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider && this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type && (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'flw' || this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'jww')) {
let layer = this.sdk.viewer.imageryLayers._layers[i]

View File

@ -37,6 +37,7 @@ class Layer3rdparty extends BaseLayer {
this.entity =
this.sdk.viewer.scene.imageryLayers.addImageryProvider(layer,)
}
this.entity._id = this.options.id
for (let i = 0; i < this.sdk.viewer.imageryLayers._layers.length; i++) {
if (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider && this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type && (this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'flw' || this.sdk.viewer.imageryLayers._layers[i]._imageryProvider._type === 'jww')) {
let layer = this.sdk.viewer.imageryLayers._layers[i]

View File

@ -28,11 +28,11 @@ class BaseLayer extends BaseSource {
}
get layerIndex() {
return this.entity._layerIndex
return this.entity ? this.entity._layerIndex : undefined
}
get layer_index() {
return this.entity._layerIndex
return this.entity ? this.entity._layerIndex : undefined
}
get brightness() {