|
@@ -45,11 +45,24 @@
|
|
<ListItem v-for="(item, index) in addlayerdata" :key="index">
|
|
<ListItem v-for="(item, index) in addlayerdata" :key="index">
|
|
{{ item.title }}
|
|
{{ item.title }}
|
|
<div class="listBtn">
|
|
<div class="listBtn">
|
|
|
|
+ <i-switch
|
|
|
|
+ v-model="item.visible"
|
|
|
|
+ size="small"
|
|
|
|
+ @on-change="visibleChange(item, $event)"
|
|
|
|
+ >
|
|
|
|
+ <template #open>
|
|
|
|
+ <span></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #close>
|
|
|
|
+ <span></span>
|
|
|
|
+ </template>
|
|
|
|
+ </i-switch>
|
|
<Icon
|
|
<Icon
|
|
type="md-arrow-round-up"
|
|
type="md-arrow-round-up"
|
|
color="green"
|
|
color="green"
|
|
size="18"
|
|
size="18"
|
|
class="opBtn"
|
|
class="opBtn"
|
|
|
|
+ :title="Resource.MoveUpOneLevel"
|
|
@click="raise(item)"
|
|
@click="raise(item)"
|
|
v-if="
|
|
v-if="
|
|
index > 0 && (item.type == 'Vector' || item.type == 'IMG')
|
|
index > 0 && (item.type == 'Vector' || item.type == 'IMG')
|
|
@@ -60,26 +73,24 @@
|
|
color="green"
|
|
color="green"
|
|
size="18"
|
|
size="18"
|
|
class="opBtn"
|
|
class="opBtn"
|
|
|
|
+ :title="Resource.MoveDownOneLevel"
|
|
@click="lower(item)"
|
|
@click="lower(item)"
|
|
v-if="
|
|
v-if="
|
|
index < addlayerdata.length - 1 &&
|
|
index < addlayerdata.length - 1 &&
|
|
(item.type == 'Vector' || item.type == 'IMG')
|
|
(item.type == 'Vector' || item.type == 'IMG')
|
|
"
|
|
"
|
|
- /><Icon
|
|
|
|
|
|
+ />
|
|
|
|
+ <Icon
|
|
type="md-locate"
|
|
type="md-locate"
|
|
color="green"
|
|
color="green"
|
|
size="18"
|
|
size="18"
|
|
class="opBtn"
|
|
class="opBtn"
|
|
|
|
+ :title="Resource.location"
|
|
@click="location(item)"
|
|
@click="location(item)"
|
|
/>
|
|
/>
|
|
- <!-- <Icon type="md-eye" color="green" size="18" class="opBtn" />
|
|
|
|
- <Icon type="md-eye-off" color="green" size="18" class="opBtn" /> -->
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sliderBtn">
|
|
<div class="sliderBtn">
|
|
<Slider
|
|
<Slider
|
|
- min="0"
|
|
|
|
- max="100"
|
|
|
|
- step="1"
|
|
|
|
v-model="item.trans"
|
|
v-model="item.trans"
|
|
@on-change="transSliderChange(item, $event)"
|
|
@on-change="transSliderChange(item, $event)"
|
|
></Slider>
|
|
></Slider>
|
|
@@ -103,6 +114,7 @@ export default {
|
|
// flag: false,
|
|
// flag: false,
|
|
// s3mLen: 0,
|
|
// s3mLen: 0,
|
|
hid: true,
|
|
hid: true,
|
|
|
|
+ layerparams: {},
|
|
ImgHid: false, //影响图层移动默认不显示
|
|
ImgHid: false, //影响图层移动默认不显示
|
|
S3MLayersObj: {
|
|
S3MLayersObj: {
|
|
title: Resource.s3mLayer,
|
|
title: Resource.s3mLayer,
|
|
@@ -158,8 +170,33 @@ export default {
|
|
},
|
|
},
|
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
|
+ visibleChange(obj, visible, a) {
|
|
|
|
+ console.log(obj, visible, a);
|
|
|
|
+ switch (obj.type) {
|
|
|
|
+ case "S3M": //场景
|
|
|
|
+ if (this.sceneLayers[obj.title]) {
|
|
|
|
+ this.sceneLayers[obj.title][0][0].visible = visible;
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case "S3MDATA": //scp
|
|
|
|
+ if (this.sceneLayers[obj.title]) {
|
|
|
|
+ this.sceneLayers[obj.title][0][0].visible = visible;
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case "IMG": //影像
|
|
|
|
+ this.layerparams[obj.id].show = visible;
|
|
|
|
+ break;
|
|
|
|
+ case "Vector": //矢量
|
|
|
|
+ this.layerparams[obj.id].show = visible;
|
|
|
|
+ break;
|
|
|
|
+ case "Terrain": //地形
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ null;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
transSliderChange(obj, v, a) {
|
|
transSliderChange(obj, v, a) {
|
|
- if (!v || v == undefined) {
|
|
|
|
|
|
+ if (typeof v == undefined) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
let value = v / 100;
|
|
let value = v / 100;
|
|
@@ -240,10 +277,12 @@ export default {
|
|
for (var j = 0; j < layers[i].length; j++) {
|
|
for (var j = 0; j < layers[i].length; j++) {
|
|
layers[i][j].style3D = style;
|
|
layers[i][j].style3D = style;
|
|
layers[i][j].refresh();
|
|
layers[i][j].refresh();
|
|
|
|
+ layers[i][j].isOverlapDisplayed = false; //开启避让
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
layers[i].style3D = style;
|
|
layers[i].style3D = style;
|
|
layers[i].refresh();
|
|
layers[i].refresh();
|
|
|
|
+ layers[i].isOverlapDisplayed = false; //开启避让
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -268,6 +307,7 @@ export default {
|
|
let imageryLayers = viewer.imageryLayers;
|
|
let imageryLayers = viewer.imageryLayers;
|
|
if (obj.checked) {
|
|
if (obj.checked) {
|
|
obj.trans = 100;
|
|
obj.trans = 100;
|
|
|
|
+ obj.visible = true;
|
|
this.addlayerdata.push(obj);
|
|
this.addlayerdata.push(obj);
|
|
switch (obj.type) {
|
|
switch (obj.type) {
|
|
case "S3M": //场景
|
|
case "S3M": //场景
|
|
@@ -286,6 +326,7 @@ export default {
|
|
name: obj.title,
|
|
name: obj.title,
|
|
})
|
|
})
|
|
);
|
|
);
|
|
|
|
+ this.layerparams[obj.id] = layer;
|
|
// viewer.flyTo(layer);
|
|
// viewer.flyTo(layer);
|
|
break;
|
|
break;
|
|
case "Vector": //矢量
|
|
case "Vector": //矢量
|
|
@@ -295,6 +336,7 @@ export default {
|
|
name: obj.title,
|
|
name: obj.title,
|
|
})
|
|
})
|
|
);
|
|
);
|
|
|
|
+ this.layerparams[obj.id] = layer2;
|
|
// viewer.flyTo(layer2);
|
|
// viewer.flyTo(layer2);
|
|
break;
|
|
break;
|
|
case "Terrain": //地形
|
|
case "Terrain": //地形
|
|
@@ -310,6 +352,7 @@ export default {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ delete this.layerparams[obj.id];
|
|
switch (obj.type) {
|
|
switch (obj.type) {
|
|
case "S3M": //场景
|
|
case "S3M": //场景
|
|
if (this.sceneLayers[obj.title]) {
|
|
if (this.sceneLayers[obj.title]) {
|
|
@@ -421,37 +464,23 @@ export default {
|
|
|
|
|
|
//影像图层操作
|
|
//影像图层操作
|
|
raise(obj) {
|
|
raise(obj) {
|
|
- let imageryLayers = viewer.imageryLayers._layers;
|
|
|
|
- // let ly = imageryLayers[this.contextData.id];
|
|
|
|
- for (let i = 0; i < imageryLayers.length; i++) {
|
|
|
|
- let element = imageryLayers[i];
|
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
|
- viewer.imageryLayers.raise(element);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ viewer.imageryLayers.raise(this.layerparams[obj.id]);
|
|
for (let i = 0; i < this.addlayerdata.length; i++) {
|
|
for (let i = 0; i < this.addlayerdata.length; i++) {
|
|
if (this.addlayerdata[i].title == obj.title) {
|
|
if (this.addlayerdata[i].title == obj.title) {
|
|
- this.addlayerdata = this.moveUp(this.addlayerdata, i);
|
|
|
|
|
|
+ let arr = Array.from(this.addlayerdata);
|
|
|
|
+ this.addlayerdata = [];
|
|
|
|
+ this.addlayerdata = this.moveUp(arr, i);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // viewer.imageryLayers.raise(ly);
|
|
|
|
- // this.updataImgLayers();
|
|
|
|
},
|
|
},
|
|
lower(obj) {
|
|
lower(obj) {
|
|
- let imageryLayers = viewer.imageryLayers._layers;
|
|
|
|
- // let ly = imageryLayers[this.contextData.id];
|
|
|
|
- for (let i = 0; i < imageryLayers.length; i++) {
|
|
|
|
- let element = imageryLayers[i];
|
|
|
|
- if (element._imageryProvider._name == obj.title) {
|
|
|
|
- viewer.imageryLayers.lower(element);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ viewer.imageryLayers.lower(this.layerparams[obj.id]);
|
|
for (let i = 0; i < this.addlayerdata.length; i++) {
|
|
for (let i = 0; i < this.addlayerdata.length; i++) {
|
|
if (this.addlayerdata[i].title == obj.title) {
|
|
if (this.addlayerdata[i].title == obj.title) {
|
|
- this.addlayerdata = this.moveDown(this.addlayerdata, i);
|
|
|
|
|
|
+ let arr = Array.from(this.addlayerdata);
|
|
|
|
+ this.addlayerdata = [];
|
|
|
|
+ this.addlayerdata = this.moveDown(arr, i);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|