From 6cdcf30b52502fa2b7db21064c40b7193bf7e25f Mon Sep 17 00:00:00 2001 From: YANGDL <114714267@qq.com> Date: 星期四, 25 二月 2021 10:55:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/conf/Constants.js | 5 src/components/LayerController/modules/LcServiceLayerFilter.vue | 37 - src/conf/MapConfig.js | 6 src/conf/Layers.js | 296 ------------------- src/conf/Styles.js | 24 + src/views/MapTemplate.vue | 10 src/conf/LayerSewers.js | 321 +++++++++++++++++++- src/components/helpers/BasemapHelper.js | 20 src/components/helpers/ServiceLayerHelper.js | 151 +++++++-- src/components/LayerController/modules/LcServiceLayer.vue | 8 src/store/modules/map.js | 5 11 files changed, 480 insertions(+), 403 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue index cb9a7e8..09ec4c4 100644 --- a/src/components/LayerController/modules/LcServiceLayer.vue +++ b/src/components/LayerController/modules/LcServiceLayer.vue @@ -1,7 +1,7 @@ <template> <div class="inner-panel"> <div class="wms-panel"> - <div v-for="item in mapConfig.ServiceLayers" :key="item.code" class="layerbox"> + <div v-for="item in serviceLayers" :key="item.code" class="layerbox"> <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)" class="btn-filter">杩囨护</span> @@ -11,7 +11,7 @@ :name="'wmsSublayers_'+item.code+'_'+itm.code" :checked="itm.checked" :value="itm.code" - @change="swWmsLayer(itm)"/>{{ itm.sname }} + @change="swWmsLayer(itm)"/>{{ itm.name }} </div> </div> </div> @@ -34,8 +34,8 @@ } }, computed: { - mapConfig () { - return this.$store.state.map.mapConfig.mapConfig + serviceLayers () { + return this.$store.state.map.serviceLayers.LayerSewersLine } }, mounted () { diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index cd5fb45..d9bad44 100644 --- a/src/components/LayerController/modules/LcServiceLayerFilter.vue +++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue @@ -7,8 +7,8 @@ </div> <div class="content"> <div v-for="filter in item.filters" :key="filter.code"> - <input type="checkbox" :value="filter.code" :checked="filter.checked"><label - :title="filter.name">{{filter.sname}}</label> + <input type="checkbox" :value="filter.code" :checked="filter.checked" @change="swSubFilter(filter)"><label + :title="filter.name">{{filter.name}}</label> </div> </div> </div> @@ -18,7 +18,6 @@ <script> import { mapMutations } from 'vuex' -import WmsHelper from '../../helpers/WmsHelper' export default { name: 'LcServiceLayerFilter', @@ -30,14 +29,14 @@ } }, computed: { - mapConfig () { - return this.$store.state.map.mapConfig.mapConfig + config () { + return this.$store.state.map.config }, pointLayers () { // 鏍规嵁绾垮浘灞傞�変腑鎯呭喌锛屾樉绀烘垨闅愯棌鐐瑰浘灞傞潰鏉� - var config = this.mapConfig - var checkedLayers = window.serviceLayerHelper.getCheckedLayers(config) - var pointLayers = config.PointLayers + var serviceLayers = this.config.mapConfig.Layers.LayerSewersLine // 涓�绾у浘灞� + var checkedLayers = window.serviceLayerHelper.getCheckedLayers(serviceLayers) + var pointLayers = this.config.mapConfig.Layers.layerSewersPoint // 浜岀骇鍥惧眰 return pointLayers.filter(function (layer) { var code = layer.code for (var i = 0; i < checkedLayers.length; i++) { @@ -56,21 +55,13 @@ ...mapMutations([]), swAllSubFilter (item) { item.checked = !item.checked - for (let i = 0, len = item.filters.length; i < len; ++i) { - item.filters[i].checked = item.checked - } - var mapConfig = this.mapConfig - var wmsHelper = new WmsHelper() - wmsHelper.initMapConfig(mapConfig) - var wmsLayersMap = wmsHelper.getWmsLayersMap() - for (var k in wmsLayersMap) { - var layers = wmsLayersMap[k] - var tileLayer = this.serviceLayerHelper.getTileLayer(k) - if (tileLayer) { - tileLayer.setParams({ layers: layers.join(',') }, true) - tileLayer.setUrl(tileLayer.config.url, false) - } - } + console.log(item) + // window.serviceLayerHelper.loadLayers() + }, + swSubFilter (item) { + item.checked = !item.checked + console.log(item) + // window.serviceLayerHelper.loadLayers() } } } diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js index a430df0..9b29e4e 100644 --- a/src/components/helpers/BasemapHelper.js +++ b/src/components/helpers/BasemapHelper.js @@ -18,11 +18,11 @@ * @param map * @param defBasemapName 鍒濆鍖栧畬鎴愬悗锛岄粯璁ゆ樉绀虹殑鍥惧眰 */ - initBasemap = (mapConfig, isIntranet) => { + initBasemap = (config, isIntranet) => { if (isIntranet) { // 鍐呯綉 - this._getToken(mapConfig) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 + this._getToken(config) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘 } else { // 澶栫綉 - this._createBasemapByConfig(mapConfig) + this._createBasemapByConfig(config) } return this.basemapMap @@ -72,8 +72,8 @@ } // 鍏綉鍒涘缓鍦板浘閮ㄥ垎 - _createBasemapByConfig (mapConfig) { - const internetBasemaps = mapConfig.mapConfig.InternetBaseMaps + _createBasemapByConfig (config) { + const internetBasemaps = config.mapConfig.InternetBaseMaps for (let i = 0, len = internetBasemaps.length; i < len; ++i) { const basemapConfig = internetBasemaps[i] const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) @@ -98,16 +98,16 @@ // 鍐呯綉鍦板浘鍒涘缓閮ㄥ垎 // 鑾峰彇鍐呯綉鍦板浘token锛屽苟鍔犺浇鍒板湴鍥句腑 - _getToken = (mapConfig) => { - const params = mapConfig.TokenConfig + _getToken = (config) => { + const params = config.TokenConfig AjaxUtils.GetDataAsynByUrl(params.url, params.option, (token) => { - this._showTDT(token, mapConfig) + this._showTDT(token, config) }) } // 鍐呯綉鍦板浘鍔犺浇锛屽苟鍔犺浇鍒板湴鍥� - _showTDT = (token, mapConfig) => { - const intranetBasemaps = mapConfig.mapConfig.IntranetBaseMaps + _showTDT = (token, config) => { + const intranetBasemaps = config.mapConfig.IntranetBaseMaps for (let i = 0, len = intranetBasemaps.length; i < len; ++i) { const basemapConfig = intranetBasemaps[i] const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option) diff --git a/src/components/helpers/ServiceLayerHelper.js b/src/components/helpers/ServiceLayerHelper.js index 2ff5042..cbfdedd 100644 --- a/src/components/helpers/ServiceLayerHelper.js +++ b/src/components/helpers/ServiceLayerHelper.js @@ -2,6 +2,8 @@ /** * 鍒涘缓鍥惧眰鐩稿叧鐨勭被 */ +import AjaxUtils from '@/utils/AjaxUtils' +import { GEOM_TYPE } from '../../conf/Constants' class ServiceLayerHelper { constructor (options) { @@ -12,7 +14,9 @@ this.tileLayersWMTSArray = [] // 鍒濆鐨刉MTS闆� this.tileLayersTileArray = [] // 鍒濆鐨凾ile闆� this.tileLayersWMSArray = [] // 鍒濆鐨刉MS闆� - this.mapConfig = {} + this.geojsonArray = [] // 鍒濆鐨刧eojson闆� + this.layerConfig = {} + this.regex = /\{(.+?)\}/g // 鍖归厤{} } getTileLayer (code) { @@ -22,9 +26,9 @@ /** * 鏍规嵁閰嶇疆鏂囦欢鍒濆鍖栦笟鍔″簳鍥� */ - initServiceLayers (mapConfig) { - this.mapConfig = mapConfig - this._loadLayers(mapConfig) + initServiceLayers (layerConfig) { + this.layerConfig = layerConfig + this.loadLayers(layerConfig.mapConfig.Layers.LayerSewersLine) } /** @@ -32,30 +36,104 @@ * @param {*} mapConfig * @param {*} isAddToMap */ - _loadLayers (mapConfig, isAddToMap = true) { - console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�', mapConfig) - for (let i = 0, len = mapConfig.mapConfig.ServiceLayers.length; i < len; ++i) { - const opt = mapConfig.mapConfig.ServiceLayers[i] - this.setArray(opt) - if (opt.type === 'wmts') { - opt.checked && this.loadWmtsLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i]) - } else if (opt.type === 'wms') { - opt.checked && this.loadWmsLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i]) - } else if (opt.type === 'tile') { - opt.checked && this.loadTileLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i]) + loadLayers (layerConfig, isAddToMap = true) { + console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�', layerConfig) + for (let i = 0, len = layerConfig.length; i < len; ++i) { + const opt = layerConfig[i] + if (opt.checked) { + if (opt.type === 'wmts') { + this.loadWmtsLayer(opt, isAddToMap) + this.tileLayersWMTSArray.push(opt) + } else if (opt.type === 'wms') { + this.loadWmsLayer(opt, isAddToMap) + this.tileLayersWMSArray.push(opt) + } else if (opt.type === 'tile') { + this.loadTileLayer(opt, isAddToMap) + this.tileLayersTileArray.push(opt) + } else if (opt.type === 'geojson') { + this.loadGeojson(opt) + } } } } - setArray (opt) { - var type = opt.type - if (type === 'wmts') { - this.tileLayersWMTSArray.push(opt) - } else if (type === 'wms') { - this.tileLayersWMSArray.push(opt) - } else if (type === 'tile') { - this.tileLayersTileArray.push(opt) + loadGeojson (options) { + var url = options.url + var layers = options.layers + var matches = this.regex.exec(url) + for (var i = 0; i < layers.length; i++) { + var layer = layers[i] + var matchValue = layer[matches[1]] + var checked = layer.checked + var geomtype = layer.geomtype + if (!checked) { + continue + } + var newUrl = url.replace(this.regex, matchValue) + var that = this + AjaxUtils.GetDataAsynByUrl(newUrl, {}, function (res) { + switch (geomtype) { + case GEOM_TYPE.POINT : + that.loadPointGeojson(res) + break + case GEOM_TYPE.LINE : + that.loadLineGeojson(res) + break + case GEOM_TYPE.POLYGON : + break + default: + that.loadLineGeojson(res) + break + } + }) } + } + + /** + * 鍔犺浇鐐规暟鎹� + * @param res + */ + loadPointGeojson (res) { + this.L.geoJSON(res.features, { + pointToLayer: function (geoJsonPoint, latlng) { + return this.L.canvasMarker(latlng, + { + radius: 20, + prevLatlng: this.L.latLng(51.503, -0.09), // previous point + img: { + url: './images/beng.png', + size: [20, 20], + rotate: 90 + } + }) + } + }).bindPopup(function (layer) { + // return layer.feature.properties.linenumber + }).addTo(this.map) + } + + /** + * 鍔犺浇绾挎暟鎹� + * @param res + */ + loadLineGeojson (res) { + this.L.geoJSON(res.features, { + style: function (feature) { + return { + fill: true, + weight: 2, + fillColor: '#06cccc', + color: '#06cccc', + fillOpacity: 0.2, + opacity: 0.8, + dashArray: '10,4', + dashSpeed: -10 + } + }, + minZoom: 10 + }).bindPopup(function (layer) { + // return layer.feature.properties.linenumber + }).addTo(this.map) } /** @@ -63,9 +141,9 @@ * @param {}} options * @param {*} isAddToMap */ - loadWmtsLayer (options, isAddToMap = true, config) { + loadWmtsLayer (options, isAddToMap = true) { const layer = this.L.tileLayer(options.url, options.option) - layer.config = config + layer.config = options if (isAddToMap) { layer.addTo(this.map) @@ -78,9 +156,9 @@ * @param {}} options * @param {*} isAddToMap */ - loadWmsLayer (options, isAddToMap = true, config) { + loadWmsLayer (options, isAddToMap = true) { const layer = this.L.tileLayer.wms(options.url, options.option) - layer.config = config + layer.config = options if (isAddToMap) { layer.addTo(this.tileLayerWmslayerGroup) @@ -93,7 +171,7 @@ * @param {}} options * @param {*} isAddToMap */ - loadTileLayer (options, isAddToMap = true, config) { + loadTileLayer (options, isAddToMap = true) { const layer = this.L.tileLayer(options.url, { layers: options.layers || 'all', // country format: options.format || 'image/png', @@ -103,7 +181,7 @@ minZoom: options.minZoom || 1, zoomOffset: options.zoomOffset || 0 }) - layer.config = config + layer.config = options if (isAddToMap) { layer.addTo(this.map) @@ -134,13 +212,12 @@ } /** - * 寰楀埌閫変腑鐨勫浘灞傚垪琛� - * @param mapConfig - * @returns {[]} - */ - getCheckedLayers (mapConfig) { + * 寰楀埌閫変腑鐨勫浘灞傚垪琛� + * @param mapConfig + * @returns {[]} + */ + getCheckedLayers (serviceLayers) { var checkedLayers = [] - var serviceLayers = mapConfig.ServiceLayers for (var i = 0; i < serviceLayers.length; i++) { var serviceLayer = serviceLayers[i] var layers = serviceLayer.layers @@ -177,8 +254,8 @@ } /** - * 鏍规嵁绾跨殑閫夋嫨锛屽緱鍒扮偣鐨勫彲閫夋嫨鍥惧眰鏁版嵁 - */ + * 鏍规嵁绾跨殑閫夋嫨锛屽緱鍒扮偣鐨勫彲閫夋嫨鍥惧眰鏁版嵁 + */ getFiltersGroup () { } diff --git a/src/conf/Constants.js b/src/conf/Constants.js new file mode 100644 index 0000000..0c173b0 --- /dev/null +++ b/src/conf/Constants.js @@ -0,0 +1,5 @@ +export const GEOM_TYPE = { + POINT: 'point', + LINE: 'line', + POLYGON: 'polygon' +} diff --git a/src/conf/LayerSewers.js b/src/conf/LayerSewers.js index 7b91411..01626a2 100644 --- a/src/conf/LayerSewers.js +++ b/src/conf/LayerSewers.js @@ -1,38 +1,21 @@ -import * as L from 'leaflet' - -const APP_GIS_HOST_2 = 'http://xearth.cn:6230' -const myRenderer = L.canvas()// 闇�瑕佷娇鐢ㄧ敾甯冩覆鏌撶殑浣跨敤 renderer: myRenderer 浣滀负鍙傛暟 -export const LayerSewers = { +import { GEOM_TYPE } from './Constants' +// const APP_GIS_HOST_2 = 'http://xearth.cn:6230' +const APP_GIS_HOST_2 = 'http://localhost:3000' +export const LayerSewersLine = { code: 'pipeline', name: '绠$綉鏁版嵁', - icon_actived: '', - icon_deactived: '', type: 'geojson', // url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLineTest/wms?version=1.1.1', - url: APP_GIS_HOST_2 + '/layer/findLayer?layerName=pipeline', - inLegend: true, + url: APP_GIS_HOST_2 + '/layer/findLayer?layerName={sname}', checked: true, - option: { - styles: { - fill: true, - weight: 2, - fillColor: '#06cccc', - color: '#06cccc', - fillOpacity: 0.2, - opacity: 0.8 - // dashArray:'10,4', - // dashSpeed:-10, - }, - renderer: myRenderer - - }, layers: [ { code: 'rainline', name: '闆ㄦ按绾�', - sname: '闆ㄦ按', + sname: 'pipeline', // 琛ㄥ悕 checked: true, // 榛樿閫変腑鐘舵�� filter: {}, + zoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀� childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, { @@ -109,3 +92,293 @@ } ] } + +export const LayerSewersPoint = [ + { + code: 'fsss', + name: '闄勫睘璁炬柦', + checked: false, // 榛樿閫変腑鐘舵�� + filters: [ + { + code: 'fourlink', + name: '鍥涢��', + sname: 'FourLink', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'tee', + name: '涓夐��', + sname: 'Tee', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'piperack', + name: '绠℃灦(澧�)', + sname: 'PipeRack', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pipegallery', + name: '绠″粖(甯�)', + sname: 'PipeGallery', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pipesegment', + name: '娴佸悜', + sname: 'ywslx', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pipeline', + name: '绠$綉', + sname: 'pipeline', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'valve', + name: '闃�闂�', + sname: 'valve', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'elbow', + name: '寮ご', + sname: 'Elbow', + checked: false, + geomtype: GEOM_TYPE.POINT + } + ] + }, + { + code: 'hbss', + name: '鐜繚璁炬柦', + checked: false, // 榛樿閫変腑鐘舵�� + filters: [ + { + code: 'manhole', + name: '绐ㄤ簳', + sname: '绐ㄤ簳', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'firedike', + name: '闃茬伀鍫�', + sname: '闃茬伀鍫�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'raingate', + name: '闆ㄧ瀛�', + sname: '闆ㄧ瀛�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'overflowweir', + name: '婧㈡祦鍫�', + sname: '婧㈡祦鍫�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'chokevalve', + name: '鎴祦闂�', + sname: '鎴祦闂�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'collectingbasin', + name: '闆嗘按姹�(缃�)', + sname: '闆嗘按姹�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'oilseparator', + name: '闅旀补姹�', + sname: '闅旀补姹�', + checked: false, + geomtype: GEOM_TYPE.POINT + } + ] + }, + { + code: 'pk', + name: '鎺掑彛', + checked: false, // 榛樿閫変腑鐘舵�� + filters: [ + { + code: 'dischargeport', + name: '鎺掓斁鍙�', + sname: '鎺掓斁鍙�', + checked: false, + geomtype: GEOM_TYPE.POINT + } + ] + }, + { + code: 'qyxx', + name: '鍖哄煙淇℃伅', + checked: false, // 榛樿閫変腑鐘舵�� + filters: [ + { + code: 'thirdpartypipe', + name: '绗笁鏂圭閬�', + sname: '绗笁鏂圭閬�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'firefightingunit', + name: '娑堥槻鍗曚綅', + sname: '娑堥槻鍗曚綅', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'emergencyesources', + name: '搴旀�ョ墿璧�', + sname: '搴旀�ョ墿璧�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'emergencyres', + name: '绀句細涓撲笟搴旀�ユ晳鎻撮槦浼�', + sname: '涓撲笟搴旀�ユ晳鎻�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'maintenanceteam', + name: '缁存姠淇槦浼�', + sname: '缁存姠淇槦浼�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'hospital', + name: '鍖婚櫌', + sname: '鍖婚櫌', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pointpreservationzone', + name: '鑷劧淇濇姢鍖�', + sname: '鑷劧淇濇姢鍖�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pointhydrology', + name: '姘翠綋', + sname: '姘翠綋', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'sensitivetarget', + name: '鏁忔劅鐩爣', + sname: '鏁忔劅鐩爣', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'envmonunit', + name: '鐜鐩戞祴鍗曚綅', + sname: '鐜鐩戞祴鍗曚綅', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pointcontaminants', + name: '鐩戞祴鐐规薄鏌撶墿鎸囨爣淇℃伅', + sname: '姹℃煋鐗╂寚鏍�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'dischargeportaround', + name: '鎺掓斁鍙e懆杈圭幆澧冩晱鎰熶俊鎭�', + sname: '鎺掓斁鍙e懆杈圭幆澧�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pump', + name: '娉�', + sname: '娉�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'liquidlevelmeter', + name: '娑蹭綅璁�', + sname: '娑蹭綅璁�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'flowmeter', + name: '娴侀噺璁�', + sname: '娴侀噺璁�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'video', + name: '瑙嗛鐩戞帶閰嶇疆', + sname: '瑙嗛鐩戞帶', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'onlinemonitoring', + name: '鍦ㄧ嚎鐩戞祴璁惧閰嶇疆', + sname: '鍦ㄧ嚎鐩戞祴', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'combustiblegas', + name: '鍙噧姘斾綋鎶ヨ璁惧閰嶇疆', + sname: '鍙噧姘斾綋鎶ヨ', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'hydrogensulfide', + name: 'H2S娴撳害鎶ヨ璁惧閰嶇疆', + sname: 'H2S娴撳害鎶ヨ', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'controlpoint', + name: '绠$嚎鐐�', + sname: '绠$嚎鐐�', + checked: false, + geomtype: GEOM_TYPE.POINT + }, + { + code: 'pipesegment', + name: '绠℃', + sname: '绠℃', + checked: false, + geomtype: GEOM_TYPE.POINT + } + ] + } +] diff --git a/src/conf/Layers.js b/src/conf/Layers.js index 8400913..5c69adf 100644 --- a/src/conf/Layers.js +++ b/src/conf/Layers.js @@ -1,9 +1,8 @@ // import * as L from 'leaflet' -import { LayerSewers } from './LayerSewers' +import { LayerSewers, PointLayers } from './LayerSewers' // const APP_GIS_HOST = 'http://xearth.cn:6299' // 鍑犱綍绫诲瀷甯搁噺 -const GEOM_POINT = 'POINT' export const ServiceLayers = [ /* { @@ -27,296 +26,5 @@ uppercase: false, WMSTILE: 1 }, */ - LayerSewers - -] - -export const PointLayers = [ - { - code: 'fsss', - name: '闄勫睘璁炬柦', - checked: true, // 榛樿閫変腑鐘舵�� - filters: [ - { - code: 'fourlink', - name: '鍥涢��', - sname: '鍥涢��', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'tee', - name: '涓夐��', - sname: '涓夐��', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'piperack', - name: '绠℃灦(澧�)', - sname: '绠℃灦', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pipegallery', - name: '绠″粖(甯�)', - sname: '绠″粖', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pipesegment', - name: '娴佸悜', - sname: '娴佸悜', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pipeline', - name: '绠$綉', - sname: '绠$綉', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'valve', - name: '闃�闂�', - sname: '闃�闂�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'elbow', - name: '寮ご', - sname: '寮ご', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - } - ] - }, - { - code: 'hbss', - name: '鐜繚璁炬柦', - checked: true, // 榛樿閫変腑鐘舵�� - filters: [ - { - code: 'manhole', - name: '绐ㄤ簳', - sname: '绐ㄤ簳', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'firedike', - name: '闃茬伀鍫�', - sname: '闃茬伀鍫�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'raingate', - name: '闆ㄧ瀛�', - sname: '闆ㄧ瀛�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'overflowweir', - name: '婧㈡祦鍫�', - sname: '婧㈡祦鍫�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'chokevalve', - name: '鎴祦闂�', - sname: '鎴祦闂�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'collectingbasin', - name: '闆嗘按姹�(缃�)', - sname: '闆嗘按姹�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'oilseparator', - name: '闅旀补姹�', - sname: '闅旀补姹�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - } - ] - }, - { - code: 'pk', - name: '鎺掑彛', - checked: true, // 榛樿閫変腑鐘舵�� - filters: [ - { - code: 'dischargeport', - name: '鎺掓斁鍙�', - sname: '鎺掓斁鍙�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - } - ] - }, - { - code: 'qyxx', - name: '鍖哄煙淇℃伅', - checked: true, // 榛樿閫変腑鐘舵�� - filters: [ - { - code: 'thirdpartypipe', - name: '绗笁鏂圭閬�', - sname: '绗笁鏂圭閬�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'firefightingunit', - name: '娑堥槻鍗曚綅', - sname: '娑堥槻鍗曚綅', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'emergencyesources', - name: '搴旀�ョ墿璧�', - sname: '搴旀�ョ墿璧�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'emergencyres', - name: '绀句細涓撲笟搴旀�ユ晳鎻撮槦浼�', - sname: '涓撲笟搴旀�ユ晳鎻�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'maintenanceteam', - name: '缁存姠淇槦浼�', - sname: '缁存姠淇槦浼�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'hospital', - name: '鍖婚櫌', - sname: '鍖婚櫌', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pointpreservationzone', - name: '鑷劧淇濇姢鍖�', - sname: '鑷劧淇濇姢鍖�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pointhydrology', - name: '姘翠綋', - sname: '姘翠綋', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'sensitivetarget', - name: '鏁忔劅鐩爣', - sname: '鏁忔劅鐩爣', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'envmonunit', - name: '鐜鐩戞祴鍗曚綅', - sname: '鐜鐩戞祴鍗曚綅', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pointcontaminants', - name: '鐩戞祴鐐规薄鏌撶墿鎸囨爣淇℃伅', - sname: '姹℃煋鐗╂寚鏍�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'dischargeportaround', - name: '鎺掓斁鍙e懆杈圭幆澧冩晱鎰熶俊鎭�', - sname: '鎺掓斁鍙e懆杈圭幆澧�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pump', - name: '娉�', - sname: '娉�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'liquidlevelmeter', - name: '娑蹭綅璁�', - sname: '娑蹭綅璁�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'flowmeter', - name: '娴侀噺璁�', - sname: '娴侀噺璁�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'video', - name: '瑙嗛鐩戞帶閰嶇疆', - sname: '瑙嗛鐩戞帶', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'onlinemonitoring', - name: '鍦ㄧ嚎鐩戞祴璁惧閰嶇疆', - sname: '鍦ㄧ嚎鐩戞祴', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'combustiblegas', - name: '鍙噧姘斾綋鎶ヨ璁惧閰嶇疆', - sname: '鍙噧姘斾綋鎶ヨ', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'hydrogensulfide', - name: 'H2S娴撳害鎶ヨ璁惧閰嶇疆', - sname: 'H2S娴撳害鎶ヨ', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'controlpoint', - name: '绠$嚎鐐�', - sname: '绠$嚎鐐�', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - }, - { - code: 'pipesegment', - name: '绠℃', - sname: '绠℃', - checked: true, // 榛樿閫変腑鐘舵�� - geom: GEOM_POINT - } - ] - } + LayerSewers, PointLayers ] diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js index 9eed49f..dccff74 100644 --- a/src/conf/MapConfig.js +++ b/src/conf/MapConfig.js @@ -1,6 +1,6 @@ 锘縤mport * as L from 'leaflet' import TDT from './TDT' -import { ServiceLayers, PointLayers } from './Layers' +import { LayerSewersLine, LayerSewersPoint } from './LayerSewers' const curWwwPath = window.document.location.href const pathname = window.document.location.pathname const pos = curWwwPath.indexOf(pathname) @@ -35,8 +35,7 @@ showBaseMapType: 1, // 1鏄剧ず澶╁湴鍥撅紝2鏄剧ずarcgis鍦板浘 IntranetBaseMaps: TDT.intranet, InternetBaseMaps: TDT.internet, - ServiceLayers: ServiceLayers, - PointLayers: PointLayers + Layers: { LayerSewersLine: [LayerSewersLine], layerSewersPoint: LayerSewersPoint } // 姹¢洦姘村浘灞傞厤缃� } /** @@ -57,6 +56,5 @@ mapOptions, mapConfig, TokenConfig, - BLUEMAP_HOST } diff --git a/src/conf/Styles.js b/src/conf/Styles.js new file mode 100644 index 0000000..42416e5 --- /dev/null +++ b/src/conf/Styles.js @@ -0,0 +1,24 @@ +export const LineStyles = { + pipeline: { + fill: true, + weight: 2, + fillColor: '#06cccc', + color: '#06cccc', + fillOpacity: 0.2, + opacity: 0.8, + dashArray: '10,4', + dashSpeed: -10 + } +} +export const PointStyles = { + pipeline: { + fill: true, + weight: 2, + fillColor: '#06cccc', + color: '#06cccc', + fillOpacity: 0.2, + opacity: 0.8, + dashArray: '10,4', + dashSpeed: -10 + } +} diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 2a1bff6..c6b997e 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -1,4 +1,4 @@ -import mapConfig from '../../conf/MapConfig' +import config from '../../conf/MapConfig' const state = { currentCorp: null, @@ -14,7 +14,8 @@ selectedServiceLayer: '', // 浣跨敤杩囨护鍣ㄦ椂锛岃鎵撳紑鐨刉MS鏈嶅姟鐨凜ODE serviceLayerFilters: {}, // 鏈嶅姟鍥惧眰鎺у埗杩囨护閰嶇疆 checkedLayers: {}, // 閫変腑鍥惧眰瀵硅薄 - mapConfig: mapConfig + config: config, + serviceLayers: config.mapConfig.Layers } const mutations = { setMapObj (state, map) { diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue index 513fc98..b7bac3b 100644 --- a/src/views/MapTemplate.vue +++ b/src/views/MapTemplate.vue @@ -50,8 +50,8 @@ } }, computed: { - mapConfig () { - return this.$store.state.map.mapConfig + config () { + return this.$store.state.map.config } }, beforeMount () { @@ -74,13 +74,13 @@ this.map = Sgis.initMap(mapcontainer) this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 - this.basemapHelper.initBasemap(this.mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 + this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� - this.serviceLayerHelper.initServiceLayers(this.mapConfig) + this.serviceLayerHelper.initServiceLayers(this.config) this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� - this.vectorLayerHelper.initVectorLayers(this.mapConfig) + this.vectorLayerHelper.initVectorLayers(this.config) this.saveMapStatus() // this.setMapObj(this.mapObj) -- Gitblit v1.8.0