surprise
2024-01-09 4529e45a7a7bc438dd4fabbf177f74cb2c0aa5b5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import store from "../../../store";
import mapInfo from "./mapInfo";
import model from "./model";
const mapViewer = {
    leftClick: null,
    rightClick: null,
    addClick() {
        this.addLeftClick();
        this.addRightClick();
    },
    addLeftClick() {
        this.leftClick = new Cesium.ScreenSpaceEventHandler(window.Viewer.canvas);
        this.leftClick.setInputAction(function (event) {
            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); // 纬度
            let alt = cartographic.height; // 高度,椭球面height永远等于
            let coordinate = {
                longitude: Number(lng.toFixed(6)),
                latitude: Number(lat.toFixed(6)),
                altitude: Number(alt.toFixed(2)),
                heading: 0,
                pitch: 0,
                roll: 0,
                scale: 1,
            };
            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)) {
                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);
            store.state.isMeasureFlag = false;
        }, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
    },
}
export default mapViewer;