surprise
2024-01-02 b2fdf4f25251229adbe9a6963cb35fb7fc868172
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
import store from "../../../store";
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 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,
            };
 
            if(store.state.addModelFlag){
                model.setModelCoord(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)
        }, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
    },
}
export default mapViewer;