赣州市洪水风险预警系统二维版本
xiebin
2023-03-02 b39483c96ae572121d3c619c0b9d37634e682cc4
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
/**
 * 分屏对比widget
 * @author Liuyl
 * @date 2015/10/15
 */
define([
    "dojo/_base/declare", "dojo/_base/array", "dojo/_base/lang",
    "dojo/dom", "dojo/dom-style", "dojo/dom-class", "dojo/dom-attr", "dojo/dom-construct",
    "dojo/topic", "dojo/aspect",
    "base/BaseWidget", "base/AppEvent", "base/ConfigData",
    "controls/mapswitch/MapSwitchControl", "controls/overview/OverviewControl", "controls/timeslider/TimeSliderControl",
    "controls/Splittime/SplittimeControl","controls/sceneControl/SceneControl",
    "widgets/map/MapWidget"
], function (declare, arrayUtil, lang,
             dom, domStyle, domClass, domAttr, domConstruct,
             topic, aspect,
             BaseWidget, AppEvent, ConfigData,
             MapSwitchControl, OverviewControl, TimeSliderControl, SplittimeControl,SceneControl,
             MapWidget) {
    var Widget = declare("MultidateWidget", [BaseWidget], {
        templateString: "<div></div>",
        _map: null,
        constructor: function (options) {
            this._map = options.map;
            this.visibleGroupLayerId = ConfigData.basemap.multidate.groupid1;
            this.visibleSetLayerId = ConfigData.basemap.multidate.setid1;
        },
        startup: function (extent) {
            try {
                this.mapWidget = null;
                this.inherited(arguments);
            } catch (err) {
                console.log(err);
            }
 
        },
        _buildMapWidget: function () {
            var mapWidget = new MapWidget({
                id: "multidateRightMapWidget",
                cssPath: "widgets/map/MapWidget.css"
            });
            mapWidget.visibleGroupLayerId = this.visibleGroupLayerId;
            mapWidget.visibleLayerSetId = this.visibleSetLayerId;
            this.mapWidget = mapWidget;
            //给主地图添加鹰眼、地图切换控件
            aspect.after(this.mapWidget, "onload", lang.hitch(this, function (map) {
                var mapSwitchControl = new MapSwitchControl({
                    map: this.mapWidget.map,
                    visibleGroupLayerId: this.visibleGroupLayerId,
                    cssPath: "controls/mapswitch/MapSwitchControl.css"
                });
                this.mapWidget.addControl(mapSwitchControl);
                
                 //全景按钮
                var sceneControl = new SceneControl({
                    map: this.mapWidget.map,
                    cssPath: "controls/sceneControl/SceneControl.css"
                });
                this.mapWidget.addControl(sceneControl);
                // var overviewControl = new OverviewControl({
                //     grouplayersConfig: ConfigData.basemap.grouplayers,
                //     visibleGroupLayerId: this.visibleGroupLayerId,
                //     map: this.mapWidget.map
                // });
                // this.mapWidget.addControl(overviewControl);
 
                var splitimeControl = new SplittimeControl({
                    cssPath: "controls/Splittime/SplittimeControl.css"
                });
                this.mapWidget.addControl(splitimeControl);
                $(".esriSimpleSlider").css({
                    "display": "none"
                });
                $(".Splittime-base").css({
                    "display": "block"
                });
                /*                var timesliderControl = new TimeSliderControl({
                                    grouplayersConfig: ConfigData.basemap.grouplayers,
                                    map: this._map,
                                    visibleGroupLayerId: this.visibleGroupLayerId,
                                    visibleSetLayerId: this.visibleSetLayerId,
                                    cssPath: "controls/timeslider/TimeSliderControl.css"
                                });
                                this.mapWidget.addControl(timesliderControl);*/
            }));
            AppEvent.dispatchAppEvent(AppEvent.APPEND_MAPWIDGET, {
                mapwidget: this.mapWidget,
                relate: true
            });
        },
        open: function () {
            this.inherited(arguments);
            if (!this.mapwidget) {
                this._buildMapWidget();
            }
        },
        close: function () {
            var mianSelectLayer = this.map.getLayer('mianSelectLayer');
            if (mianSelectLayer) {
                this.map.removeLayer(mianSelectLayer);
            }
            for (var x in ConfigData.layers) {
                if (ConfigData.layers[x] != null) {
                    this.map.addLayer(ConfigData.layers[x]);
                }
            }
            $("#SplittimeControl_0 .split_tuselect option:first").prop("selected", 'selected');
            $("#SplittimeControl_0 .split_layerselect").empty().append("<option value=''>请选择图层</option>");
            this.inherited(arguments);
            if (this.mapWidget) {
                this.visibleGroupLayerId = this.mapWidget._currentVisibleGroupLayer.id;
                this.visibleSetLayerId = this.mapWidget._currentVisibleSetLayer.id;
                AppEvent.dispatchAppEvent(AppEvent.REMOVE_MAPWIDGET, this.mapWidget.id);
            }
            this.mapWidget = null;
        }
    });
    return Widget;
});