From d74b495736f0c04522ec54274b70fed0ded2878d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 11:30:06 +0800
Subject: [PATCH] 任务新增导出

---
 public/map/controls/toolbar/tools/CityLayerTool.js |  257 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 257 insertions(+), 0 deletions(-)

diff --git a/public/map/controls/toolbar/tools/CityLayerTool.js b/public/map/controls/toolbar/tools/CityLayerTool.js
new file mode 100644
index 0000000..f2bb44e
--- /dev/null
+++ b/public/map/controls/toolbar/tools/CityLayerTool.js
@@ -0,0 +1,257 @@
+/**
+ * 市级图层按钮
+ * @author liuyl 2016-3-8
+ **/
+define([
+	"base/AppEvent",
+	"dojo",
+	"dojo/_base/declare",
+	"dojo/_base/lang",
+	"controls/toolbar/tools/BaseTool",
+	"dojo/dom-style", "dojo/dom-attr",
+	"utils/LayerUtil"
+], function(
+	AppEvent,
+	dojo,
+	declare,
+	lang,
+	BaseTool,
+	domStyle, domAttr,
+	LayerUtil
+) {
+	var RL = declare([BaseTool], {
+		layers: {
+			"沈阳市": [{
+				'url': 'http://59.46.43.131/Sydlg/wmts',
+				'type': 'tianditu',
+				"layer": "SYDLG",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/tile",
+				"TILEMATRIXSET": "Matrix_0"
+			}, {
+				'url': 'http://59.46.43.131/SydlgLabel/wmts',
+				'type': 'tianditu',
+				"layer": "SYDLGLabel",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/tile",
+				"TILEMATRIXSET": "Matrix_0"
+			}],
+			"大连市": [{
+				'url': 'http://tianditu.dl.gov.cn/servicemanager/tdtproxy/1061?service=WMTS',
+				'type': 'tianditu',
+				"layer": "DLMAP",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/png",
+				"TILEMATRIXSET": "CustomCRS4326ScaleDLMAP"
+			}, {
+				'url': 'http://tianditu.dl.gov.cn/servicemanager/tdtproxy/1063?service=WMTS',
+				'type': 'tianditu',
+				"layer": "DLAnnoLayer",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/png",
+				"TILEMATRIXSET": "CustomCRS4326ScaleDLAnnoLayer"
+			}],
+			"鞍山市": [{
+				'url': 'http://services.anshanmap.gov.cn/ASDLG/wmts',
+				'type': 'tianditu',
+				"layer": "ASDLG",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/tile",
+				"TILEMATRIXSET": "Matrix_0"
+			}, {
+				'url': 'http://services.anshanmap.gov.cn/ASDLGLabel/wmts',
+				'type': 'tianditu',
+				"layer": "ASDLGLabel",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/tile",
+				"TILEMATRIXSET": "Matrix_0"
+			}],
+			//"抚顺市":[],
+			"本溪市": [{
+				'url': 'http://202.97.173.78:8719/newmap/ogc/tianditu/vecmap/wmts',
+				'type': 'tianditu',
+				"layer": "vecmap",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/png",
+				"TILEMATRIXSET": "TileMatrixSet_0"
+			}, {
+				'url': 'http://202.97.173.78:8719/newmap/ogc/tianditu/vecAnno/wmts',
+				'type': 'tianditu',
+				"layer": "vecAnno",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/png",
+				"TILEMATRIXSET": "TileMatrixSet_0"
+			}],
+			"丹东市": [{
+				'url': 'http://60.21.132.250/WMTS/kvp/services/tdt_vec/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "tdt_vec",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "tdt_vec"
+			}, {
+				'url': 'http://60.21.132.250/WMTS/kvp/services/tdt_vec_zj/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "tdt_vec_zj",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "tdt_vec_zj"
+			}],
+			"锦州市": [{
+				'url': 'http://60.21.221.227:8080/WMTS/kvp/services/TDTHXL18_L20/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "TDTHXL18_L20",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "TDTHXL18_L20"
+			}, {
+				'url': 'http://60.21.221.227:8080/WMTS/kvp/services/TDTZJL18_L20/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "TDTZJL18_L20",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "TDTZJL18_L20"
+			}],
+			//"营口市":[],
+			//"辽阳市": [],//节点服务器无法访问
+			"盘锦市": [{
+				'url': 'http://218.61.30.156/WMTS/kvp/services/PJ_dlg/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "PJ_dlg",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "PJ_dlg"
+			}, {
+				'url': 'http://218.61.30.156/WMTS/kvp/services/PJ_dlgzj/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "PJ_dlgzj",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "PJ_dlgzj"
+			}],
+			//矢量注记服务瓦片损坏
+			//			"铁岭市": [{
+			//				'url': 'http://www.lnditu.gov.cn/WMTS/kvp/services/TlMap_VEC_201512/MapServer/TDTWMTSServer?SERVICE=WMTS',
+			//				'type': 'tianditu',
+			//				"layer": "TlMap_VEC_201512",
+			//				'displaylevels': [17,18,19],
+			//				"FORMAT":"image/mixed",
+			//				"TILEMATRIXSET":"TlMap_VEC_201512"
+			//			},{
+			//				'url': 'http://www.lnditu.gov.cn/WMTS/kvp/services/TlMap_VEC_Anno_201512/MapServer/TDTWMTSServer?SERVICE=WMTS',
+			//				'type': 'tianditu',
+			//				"layer": "TlMap_VEC_Anno_201512",
+			//				'displaylevels': [17,18,19],
+			//				"FORMAT":"image/mixed",
+			//				"TILEMATRIXSET":"TlMap_VEC_Anno_201512"
+			//			}],
+			"铁岭市": [{
+				'url': 'http://61.161.226.70:6080/arcgis/rest/services/TL_VEC_2015/MapServer',
+				'type': 'arcgis tiled',
+				'displaylevels': [17, 18, 19]
+			}],
+			//"朝阳市":[],
+			"葫芦岛市": [{
+				'url': 'http://175.150.65.19/WMTS/kvp/services/HLD_SLDT/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "HLD_SLDT",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "HLD_SLDT"
+			}, {
+				'url': 'http://175.150.65.19/WMTS/kvp/services/HLD_SLZJ/MapServer/TDTWMTSServer?SERVICE=WMTS',
+				'type': 'tianditu',
+				"layer": "HLD_SLZJ",
+				'displaylevels': [17, 18, 19],
+				"FORMAT": "image/mixed",
+				"TILEMATRIXSET": "HLD_SLZJ"
+			}],
+		},
+		constructor: function(args) {
+			this.tooltip = "市级服务";
+			this.disableTooltip = "此地区或级别没有市级服务";
+			this._normalIconClass = "tool-citylayer-normal";
+			this._overIconClass = "tool-citylayer-over";
+			this._selectedIconClass = "tool-citylayer-select";
+			this._disableClass = "";
+
+			this.layerObjIndex = {};
+			this.curCity = "";
+			AppEvent.addAppEventListener(AppEvent.MAP_DISTRICT_CHANGE, lang.hitch(this, function(evt) {
+				if (this._activated) {
+					if (this.curCity != evt.NAME) {
+						this.hideCityLayers(this.curCity);
+						this.showCityLayers(evt.NAME);
+					}
+				}
+				this.curCity = evt.NAME;
+			}));
+			this.map.on("extent-change", lang.hitch(this, function(evt) {
+				if (evt.levelChange) {
+					if (evt.lod.level >= 17 && this.layers[this.curCity]) {
+						this.enable();
+					} else {
+						this.deactivate();
+						this.disable();
+					}
+				}
+			}));
+		},
+		disable: function() {
+			this.inherited(arguments);
+			domAttr.set(this.domNode, "title", this.disableTooltip);
+		},
+		enable: function() {
+			this.inherited(arguments);
+			domAttr.set(this.domNode, "title", this.tooltip);
+		},
+		showCityLayers: function(name) {
+			var lyrs = this.getCityLayers(name);
+			for (var i = 0; i < lyrs.length; i++) {
+				this.map.addLayer(lyrs[i]);
+			}
+		},
+		hideCityLayers: function(name) {
+			var lyrs = this.getCityLayers(name);
+			for (var i = 0; i < lyrs.length; i++) {
+				this.map.removeLayer(lyrs[i]);
+			}
+		},
+		getCityLayers: function(key) {
+			if (this.layerObjIndex[key]) {
+				return this.layerObjIndex[key]
+			} else if (this.layers[key]) {
+				var layerObjs = LayerUtil.parseLayers(this.layers[key]);
+				this.layerObjIndex[key] = layerObjs;
+				return this.layerObjIndex[key]
+			}
+			return [];
+		},
+
+		activate: function(args) {
+			if (this._activated) {
+				return;
+			}
+			this.inherited(arguments);
+			if (args != null && args == "self") {
+				return;
+			}
+			this.showCityLayers(this.curCity);
+		},
+		postCreate: function() {
+			this.inherited(arguments);
+			domStyle.set(this.domNode, "position", "absolute");
+			domStyle.set(this.domNode, "top", "130px");
+			domStyle.set(this.domNode, "left", "20px");
+			domStyle.set(this.domNode, "z-index", "30");
+			domStyle.set(this.domNode, "border-radius", "3px");
+			this.disable();
+		},
+		deactivate: function() {
+			this.hideCityLayers(this.curCity);
+			this.inherited(arguments);
+			AppEvent.dispatchAppEvent(AppEvent.CLOSE_WIDGET, this.widgetId);
+		}
+	});
+	return RL;
+});
\ No newline at end of file

--
Gitblit v1.9.3