From ecf3ad202a851caa39660ddfaa16e1bf16565b2e Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 30 十月 2023 13:51:38 +0800 Subject: [PATCH] 图层管理修改 --- src/assets/js/Map/temporaryTools.js | 41 ++++++++++++++++++++++++++++++++++------- 1 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/assets/js/Map/temporaryTools.js b/src/assets/js/Map/temporaryTools.js index 77aaa7f..9cd6c93 100644 --- a/src/assets/js/Map/temporaryTools.js +++ b/src/assets/js/Map/temporaryTools.js @@ -10,6 +10,28 @@ } } }, + removeTemporaryLayerAll() { + var entities = window.Viewer.entities._entities._array; + for (var i in entities) { + if (entities[i]._shpType && entities[i]._shpType == "temporaryLayer") { + window.Viewer.entities.remove(entities[i]) + } + } + }, + locationTemporaryLayer(res) { + var entities = window.Viewer.entities._entities._array; + for (var i in entities) { + if (entities[i].id == res.id && entities[i]._shpType == res.shpType) { + window.Viewer.flyTo(entities[i], { + offset: { + heading: Cesium.Math.toRadians(0.0), + pitch: Cesium.Math.toRadians(-90), + range: 400 + } + }); + } + } + }, addTemporaryTool(res) { switch (res.type) { case "point": @@ -37,7 +59,7 @@ heightReference = Number.POSITIVE_INFINITY; } var style; - if (res.style) { + if (res.outline) { style = Cesium.LabelStyle.FILL_AND_OUTLINE } else { style = Cesium.LabelStyle.FILL @@ -70,7 +92,7 @@ res.outlineColor ).withAlpha(res.outlineAlpha), - outlineWidth: res.outlineWidth, + outlineWidth: res.width, scale: res.scale, style: style, horizontalOrigin: Cesium.HorizontalOrigin.CENTER,//瀵归綈鏂瑰紡 @@ -129,31 +151,36 @@ res.near, res.far ), - outline: true, + outline: false, outlineWidth: res.width, + outlineColor: Cesium.Color.fromCssColorString( res.outlineColor ).withAlpha(res.outlineAlpha), + heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, }, }); }, addTemporaryPolylineLayer(res) { var outlinewidth = 0 if (res.outline) { - outlinewidth = res.outlineWidth + outlinewidth = res.width } window.Viewer.entities.add({ name: res.cnName, id: res.id, shpType: res.shpType, + outline: res.outline, polyline: { + outline: res.outline, positions: Cesium.Cartesian3.fromDegreesArray(res.geometry), width: res.width, distanceDisplayCondition: new Cesium.DistanceDisplayCondition( res.near, res.far ), + material: new Cesium.PolylineOutlineMaterialProperty({ color: Cesium.Color.fromCssColorString(res.material).withAlpha( res.materialAlpha @@ -260,6 +287,7 @@ var coord = this.setCartesianToEightFour(val[i]) geom.push(coord.lng, coord.lat) } + return { id: this.isedit ? res.id : (new Date()).getTime(), cnName: res.name, @@ -273,7 +301,7 @@ type: 'polygon', shpType: 'temporaryLayer', layerType: '澶氳竟褰�', - outline: res.outline != null ? res.outline : false, + outline: res.polygon.outline != null ? res.polygon.outline._value : false, width: res.polygon.outlineWidth ? res.polygon.outlineWidth._value : 1, } }, @@ -358,7 +386,6 @@ if (res.label.outlineWidth && res.label.outlineWidth._value) { width = res.label.outlineWidth._value } - return { id: this.isedit ? res.id : (new Date()).getTime(), cnName: res.name, @@ -383,7 +410,6 @@ layerType: '鏂囨湰鐐�', } }, - getPointEntityObj(res) { var mataColor = res.point.color._value; var outlineColor = res.point.outlineColor._value; @@ -405,6 +431,7 @@ layerType: '鍩烘湰鐐�', heightReference: res.point.disableDepthTestDistance != null ? false : true, size: res.point.pixelSize._value, + } }, -- Gitblit v1.9.3