月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-11-17 9f9ae3e0253f2d657b6b337d62d269394d04ee09
src/assets/js/Map/temporaryTools.js
@@ -5,8 +5,31 @@
    removeTemporaryLayer(res) {
        var entities = window.Viewer.entities._entities._array;
        for (var i in entities) {
            if (entities[i].id == res.id && entities[i].shpType == res.shpType) {
            if (entities[i].id == res.id && entities[i]._shpType == res.shpType) {
                window.Viewer.entities.remove(entities[i])
            }
        }
    },
    removeTemporaryLayerAll() {
        var entities = window.Viewer.entities._entities._array;
        for (var i = 0; i < entities.length; i++) {
            if (entities[i]._shpType && entities[i]._shpType == "temporaryLayer") {
                window.Viewer.entities.remove(entities[i])
                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
                    }
                });
            }
        }
    },
@@ -37,7 +60,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 +93,7 @@
                    res.outlineColor
                ).withAlpha(res.outlineAlpha),
                outlineWidth: res.outlineWidth,
                outlineWidth: res.width,
                scale: res.scale,
                style: style,
                horizontalOrigin: Cesium.HorizontalOrigin.CENTER,//对齐方式
@@ -129,31 +152,36 @@
                    res.near,
                    res.far
                ),
                outline: true,
                outlineWidth:res.width,
                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,7 +288,7 @@
            var coord = this.setCartesianToEightFour(val[i])
            geom.push(coord.lng, coord.lat)
        }
        debugger
        return {
            id: this.isedit ? res.id : (new Date()).getTime(),
            cnName: res.name,
@@ -274,7 +302,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,
        }
    },
@@ -359,7 +387,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,
@@ -384,7 +411,6 @@
            layerType: '文本点',
        }
    },
    getPointEntityObj(res) {
        var mataColor = res.point.color._value;
        var outlineColor = res.point.outlineColor._value;
@@ -406,6 +432,7 @@
            layerType: '基本点',
            heightReference: res.point.disableDepthTestDistance != null ? false : true,
            size: res.point.pixelSize._value,
        }
    },