liuyg
2021-07-02 25ce610f6ecca7325e7a743dc032c4a76559c63d
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
///////////////////////////////////////////////////////////////////////////
// Copyright © 2019 zhongsong. All Rights Reserved.
// 模块描述: 底图
///////////////////////////////////////////////////////////////////////////
define([
        'dojo/_base/declare',
        'dojo/_base/lang',
        'dojo/_base/array',
        'dojo/_base/html',
        'dojo/topic',
        'dojo/on',
        'jimu/BaseWidget',
        'jimu/utils',
        'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
        'libs/zTree_v3/js/jquery.ztree.all'
    ],
    function (declare,
              lang,
              array,
              html,
              topic,
              on,
              BaseWidget,
              aspect,
              string,
              utils
    ) {
        return declare([BaseWidget], {
            baseClass: 'jimu-widget-Basemap',
            name: 'Basemap',
            tileset: null,
            startup: function () {
                // 暴露在外的接口
                topic.subscribe("closeMap", lang.hitch(this, this.closeBaseMap));
                this.inherited(arguments);
                $(".cesium-baseLayerPicker-sectionTitle").eq(0).html("底图");
                $(".cesium-baseLayerPicker-sectionTitle").eq(1).html("地形");
                $('.jimu-widget-Basemap span').click(function () {
                    topic.publish('closeTool', this.name);
                    topic.publish('closeZtree', this.name);
                    topic.publish('closeNavigation', this.name);
                    $(".jimu-widget-Layermanagement .layer-list").stop().hide();
 
                    if ($(".jimu-widget-Layermanagement .layer-list").is(":hidden")) {
                        $(".jimu-widget-Layermanagement .tree-layer-opcity").stop().hide();
                    }
                    if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) {
                        $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible')
                    } else {
                        $('.cesium-baseLayerPicker-dropDown').addClass('cesium-baseLayerPicker-dropDown-visible')
                    }
                });
 
                // var self = this;
                // var scene = this.map.scene;
 
                // this.map.scene.globe.depthTestAgainstTerrain = false;
 
                //添加S3M图层服务
                //var promise = scene.open("http://61.131.223.3:8090/iserver/services/3D-WLQX/rest/realspace");
 
                // var promise = scene.open("http://61.131.223.3:8090/iserver/services/3D-WLQXS3MB/rest/realspace");
 
                // var promises = scene.open("http://61.131.223.3:8090/iserver/services/3D-WLQXRGJM/rest/realspace");
 
                //定位到场景
                // Cesium.loadJson('http://61.131.223.3:8090/iserver/services/3D-WLQX/rest/realspace/scenes.json').then(function (scenes) {
                //     var sname = scenes[0].name;
                //     Cesium.loadJson('http://61.131.223.3:8090/iserver/services/3D-WLQX/rest/realspace/scenes/' + sname + '.json').then(function (jsonData) {
                //         var cameraPosition = jsonData.camera;
                //         var tilt = Cesium.Math.toRadians(cameraPosition.tilt - 90);
                //         Cesium.when(promise, function (layer) {
                //             /*for (var i = 0; i < layer.length; i++) {
                //                 layer[i].style3D.bottomAltitude = 60;
                //                 layer[i].refresh();
                //             }*/
                //             self.tileset = layer[0];
                //             //设置相机位置、视角,便于观察场景
                //             scene.camera.setView({
                //                 destination: Cesium.Cartesian3.fromDegrees(115.728604, 28.786312, 58000),
                //                 //heading : Cesium.Math.toRadians(175.0),
                //                 // pitch : -55.0,
                //                 // roll : 10.0
                //             });
 
 
 
                //             //设置相机位置、视角,便于观察场景
                //             // topic.publish("gis/map/flyTo", {
                //             //     'longitude': 115.728604,
                //             //     'latitude': 28.786312,
                //             //     "height": 58000,
                //             //     "heading": 290.02,
                //             //     "pitch": -10.17,
                //             //     "roll": 359.86
                //             // }); //进行地图定位
 
 
                //             if (!scene.pickPositionSupported) {
                //                 alert('不支持深度纹理,无法拾取位置!');
                //             }
                //         }, function (e) {
 
                //         });
                //     });
                // });
 
                // var tit = dojo.query(".cesium-baseLayerPicker-sectionTitle")[1];
                // html.create('div', {
                //     style: "font-size: 14px;margin-top: 3px;float: right;",
                //     innerHTML: "倾斜三维"
                // }, tit);
 
                // var qxNode = html.create('input', {
                //     style: "margin-top: 6px;margin-right: 5px;float: right;",
                //     type: "checkbox",
                //     checked: "checked"
                // }, tit);
                // on(qxNode, "click", lang.hitch(this, this._switchTile))
            },
            // _switchTile: function () {
            //     if (this.tileset.visible) {
            //         this.tileset.visible = false;
            //     } else {
            //         this.tileset.visible = true;
            //     }
            // },
            closeBaseMap: function (item) {
                if (item != this.name) {
                    if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) {
                        $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible')
                    }
                }
            },
 
            onOpen: function () {
                //面板打开的时候触发 (when open this panel trigger)
            },
 
            onClose: function () {
                //面板关闭的时候触发 (when this panel is closed trigger)
            },
 
            onMinimize: function () {
                this.resize();
            },
 
            onMaximize: function () {
                this.resize();
            },
 
            resize: function () {
 
            },
 
 
            destroy: function () {
                //销毁的时候触发
                //todo
                //do something before this func
                this.inherited(arguments);
            }
 
        });
    });