/** * 分屏对比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: "
", _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(""); 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; });