11
lixuliang
2024-01-09 cbde2b4fb938ce62c204390544c52935906c8962
src/assets/js/Layer/mapViewer.js
@@ -1,4 +1,5 @@
import store from "../../../store";
import mapInfo from "./mapInfo";
import model from "./model";
const mapViewer = {
    leftClick: null,
@@ -10,7 +11,9 @@
    addLeftClick() {
        this.leftClick = new Cesium.ScreenSpaceEventHandler(window.Viewer.canvas);
        this.leftClick.setInputAction(function (event) {
            let cartesian =  window.Viewer.camera.pickEllipsoid(event.position);
            let nPickFeature = Viewer.scene.pick(event.position);
            let cartesian = window.Viewer.camera.pickEllipsoid(event.position);
            let cartographic = Cesium.Cartographic.fromCartesian(cartesian);
            let lng = Cesium.Math.toDegrees(cartographic.longitude); // 经度
            let lat = Cesium.Math.toDegrees(cartographic.latitude); // 纬度
@@ -24,18 +27,39 @@
                roll: 0,
                scale: 1,
            };
            if(store.state.addModelFlag){
            store.state.coordinate = coordinate;
            if (store.state.addModelFlag) {
                model.setModelCoord(coordinate);
            }
            if (store.state.isMeasureFlag) {
                store.state.measureCoordObj = coordinate;
                store.state.isShowMeasureCoord = true;
            }
            if (Cesium.defined(nPickFeature)) {
                console.log(nPickFeature);
                if (nPickFeature.id && nPickFeature.id.id == 'Rectangle')
                return
                if (nPickFeature.id && nPickFeature.id.properties) {
                    mapInfo.setGeoJsonInfo(nPickFeature.id.properties)
                } else if (nPickFeature && nPickFeature.getProperty("name")) {
                    if (nPickFeature.getProperty("name") == "DLJQT0007") {
                        store.state.isShowVideo = true;
                    }
                }
            }
            if (store.state.isQueryFalag) {
                store.state.isQyeryCoord = coordinate;
            }
        }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
    },
    addRightClick() {
        this.rightClick = new Cesium.ScreenSpaceEventHandler(window.Viewer.canvas);
        this.rightClick.setInputAction(function (event) {
            let pickedObject = window.Viewer.scene.pick(event.position);
            console.log(pickedObject)
            store.state.isMeasureFlag = false;
        }, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
    },
}