| | |
| | | this.tileLayersWMTSArray = [] // åå§çWMTSé |
| | | this.tileLayersTileArray = [] // åå§çTileé |
| | | this.tileLayersWMSArray = [] // åå§çWMSé |
| | | this.geojsonArray = {} // åå§çgeojsoné |
| | | this.layerConfig = {} |
| | | this.layerArray = {} // key为é
ç½®çcodeï¼å è½½çå¾å±å¯¹è±¡ï¼ |
| | | this.regex = /\{(.+?)\}/g // å¹é
{} |
| | | this.popupComp = null |
| | | } |
| | |
| | | return this.loadedLayersMap.get(code) |
| | | } |
| | | |
| | | getByLayerId (layerId) { |
| | | for (var k in this.layerArray) { |
| | | var layer = this.layerArray[k] |
| | | var geojson = layer.toGeoJSON() |
| | | var features = geojson.features |
| | | for (var j = 0; j < features.length; j++) { |
| | | var feature = features[j] |
| | | if (feature.id === layerId) { |
| | | return layer |
| | | } |
| | | } |
| | | } |
| | | return null |
| | | } |
| | | |
| | | initDisplayZoom (layerConfig) { |
| | | var that = this |
| | | that.map.on('zoomend ', function (e) { |
| | | const zoom = that.map.getZoom() |
| | | for (var i = 0, l = layerConfig.length; i < l; i++) { |
| | | var config = layerConfig[i] |
| | | var layers = config.layers |
| | | for (var j = 0; j < layers.length; j++) { |
| | | var layer = layers[j] |
| | | if (layer.minZoom) { |
| | | if (zoom > layer.minZoom) { |
| | | var layerObj = that.layerArray[layer.code] |
| | | layerObj && layerObj.addTo(that.map) |
| | | } else { |
| | | that.removeLayer(layer) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®é
ç½®æä»¶åå§åä¸å¡åºå¾ |
| | | */ |
| | | initServiceLayers (layerConfig, popupComp) { |
| | | this.layerConfig = layerConfig |
| | | this.popupComp = popupComp |
| | | store.commit('clearSewersDatas') |
| | | store.commit('clearSewersLayers') |
| | | this.loadLayers(layerConfig.mapConfig.Layers.LayerSewersLine) |
| | | this.loadLayers(layerConfig.mapConfig.Layers.layerSewersPoint) |
| | | this.initDisplayZoom(layerConfig.mapConfig.Layers.LayerSewersLine) |
| | | this.initDisplayZoom(layerConfig.mapConfig.Layers.layerSewersPoint) |
| | | } |
| | | |
| | | /** |
| | |
| | | var code = item.code |
| | | var newUrl = url.replace(this.regex, matchValue) |
| | | var that = this |
| | | if (!that.geojsonArray[code]) { |
| | | if (!that.layerArray[code]) { |
| | | AjaxUtils.GetDataAsynByUrl(newUrl, {}, function (res) { |
| | | store.commit('setSewersDatas', res) |
| | | store.commit('addSewersDatas', res) |
| | | var layer = that.loadGeojson(res, item) |
| | | that.geojsonArray[code] = layer |
| | | that.layerArray[code] = layer |
| | | }) |
| | | } else { |
| | | that.layerArray[code].addTo(that.map) |
| | | } |
| | | } |
| | | |
| | |
| | | loadGeojson (res, opt) { |
| | | var that = this |
| | | var icon = opt.icon |
| | | const featureGroup = that.L.featureGroup().addTo(that.map) |
| | | const geojson = that.L.geoJSON(res.features, { |
| | | style: function (feature) { |
| | | return { |
| | |
| | | .bindTooltip(function (layer) { |
| | | const nameId = layer.feature.id |
| | | let name = '' |
| | | if (nameId.indexOf('ä¸é') !== -1 || nameId.indexOf('åé') !== -1) { |
| | | if (nameId.indexOf('ä¸é') !== -1 || nameId.indexOf('åé') !== -1 || nameId.indexOf('窨äº') !== -1) { |
| | | name = layer.feature.properties.pointnumber |
| | | } else { |
| | | name = layer.feature.properties.name |
| | | } |
| | | if (name === undefined) { |
| | | name = '' |
| | | } |
| | | return name |
| | | }, { direction: 'bottom', offset: [0, 15], sticky: true }) |
| | |
| | | } |
| | | }) |
| | | } |
| | | }).addTo(featureGroup) |
| | | }).addTo(that.map) |
| | | store.commit('addSewersDatas', geojson) |
| | | if (Object.prototype.hasOwnProperty.call(res, 'features') && res.features.length > 0 && (res.features[0].geometry.type === 'LineString' || res.features[0].geometry.type === 'MultiLineString')) { |
| | | geojson.bringToBack() |
| | | } else { |
| | | geojson.bringToFront() |
| | | } |
| | | return featureGroup |
| | | return geojson |
| | | } |
| | | |
| | | removeLayer (item) { |
| | | var code = item.code |
| | | var layer = this.geojsonArray[code] |
| | | if (layer) { |
| | | this.map.removeLayer(layer) |
| | | delete this.geojsonArray[code] |
| | | } |
| | | var layer = this.layerArray[item.code] |
| | | layer && this.map.removeLayer(layer) |
| | | } |
| | | |
| | | /** |
| | |
| | | </div> |
| | | <transition name="fade"> |
| | | <div class="legend-content" v-show="legendControl"> |
| | | <div class="legend-content-centent" v-for="(item,index) in legendContents" :key="index"> |
| | | <div class="legend-content-box" v-for="(item,index) in legendContents" :key="index"> |
| | | <p>{{ item.title }}</p> |
| | | <ul> |
| | | <li v-for="(ite,inde) in item.items" :key="inde"> |
| | |
| | | methods: { |
| | | // 徿 æ§å¶å
容çå±ç¤ºä¸éè |
| | | legendChange () { |
| | | if (this.legendControl === false) { |
| | | this.legendControl = true |
| | | } else { |
| | | this.legendControl = false |
| | | } |
| | | // if (this.legendControl === false) { |
| | | // this.legendControl = true |
| | | // } else { |
| | | // this.legendControl = false |
| | | // } |
| | | this.legendControl = !this.legendControl |
| | | } |
| | | } |
| | | } |
| | |
| | | transform: scale(0); |
| | | opacity: 0.3; |
| | | } |
| | | 50% { |
| | | transform: scale(1.2); |
| | | } |
| | | //50% { |
| | | // transform: scale(1.1); |
| | | //} |
| | | 100% { |
| | | transform: scale(1); |
| | | opacity: 1; |
| | |
| | | } |
| | | |
| | | .fade-enter-active { |
| | | transform-origin: right center; |
| | | animation: bounce-in 1s; |
| | | transform-origin: right bottom; |
| | | animation: bounce-in .5s; |
| | | } |
| | | |
| | | .fade-leave-active { |
| | | transform-origin: right; |
| | | animation: bounce-in 1s reverse; |
| | | transform-origin: right bottom; |
| | | animation: bounce-in .5s reverse; |
| | | } |
| | | |
| | | .legend-content { |
| | |
| | | border-radius: 1rem; |
| | | background: #3c7699; |
| | | |
| | | .legend-content-centent { |
| | | .legend-content-box { |
| | | p { |
| | | text-align: center; |
| | | color: #ffffff; |
| | |
| | | wfsHelper.addLike(this.form.query.key, this.form.keyword) |
| | | // const _this = this |
| | | AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => { |
| | | console.log(res) |
| | | this.list = res.features |
| | | }) |
| | | }, |
| | |
| | | console.log(val) |
| | | const bound = this.L.geoJSON([val], {}).getBounds() |
| | | console.log(bound) |
| | | var layer = window.serviceLayerHelper.getByLayerId(val.id) |
| | | console.log(layer) |
| | | layer && layer.openPopup() |
| | | this.$store.state.map.map.flyToBounds(bound) |
| | | } |
| | | } |
| | |
| | | sname: '管ç½', // 表å |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | zoom: 10, // 卿å®çº§å«æ¾ç¤º |
| | | minZoom: 10, // 卿å®çº§å«æ¾ç¤º |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: '嫿²¹æ±¡æ°´', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'å«ç污水', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'å«ç¢±æ±¡æ°´', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'æå£', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'pk' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'äºæ
æ°´', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'å¾ªç¯æ°´', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'ååæ°´', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'çæ´»æ±¡æ°´', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // å
³èPointLayers |
| | | }, |
| | | { |
| | |
| | | sname: 'åºåä¿¡æ¯', |
| | | checked: true, // é»è®¤éä¸ç¶æ |
| | | filter: {}, |
| | | minZoom: 10, |
| | | childLayer: 'qyxx' // å
³èPointLayers |
| | | } |
| | | ] |
| | |
| | | name: 'åé', |
| | | sname: 'åé', |
| | | checked: true, |
| | | minZoom: 10, |
| | | icon: 'sewers/åé.png' |
| | | }, |
| | | { |
| | |
| | | name: 'ä¸é', |
| | | sname: 'ä¸é', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/ä¸é.png' |
| | | }, |
| | | { |
| | | code: 'piperack', |
| | | name: '管æ¶(墩)', |
| | | sname: 'PipeRack', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'pipegallery', |
| | | name: '管å»(带)', |
| | | sname: 'PipeGallery', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | |
| | | { |
| | | code: 'pipeline', |
| | | name: '管ç½', |
| | | minZoom: 10, |
| | | sname: 'pipeline', |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'valve', |
| | | name: 'éé¨', |
| | | minZoom: 10, |
| | | sname: 'valve', |
| | | checked: false, |
| | | icon: 'sewers/éé¨.png' |
| | |
| | | code: 'elbow', |
| | | name: '弯头', |
| | | sname: 'Elbow', |
| | | minZoom: 10, |
| | | checked: false, |
| | | icon: 'sewers/弯头.png' |
| | | } |
| | |
| | | { |
| | | code: 'manhole', |
| | | name: '窨äº', |
| | | minZoom: 10, |
| | | sname: '窨äº', |
| | | checked: false, |
| | | icon: 'sewers/窨äº.png' |
| | |
| | | code: 'firedike', |
| | | name: 'é²ç«å ¤', |
| | | sname: 'é²ç«å ¤', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | |
| | | name: 'é¨ç¯¦å', |
| | | sname: 'é¨ç¯¦å', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/é¨ç¯¦å.png' |
| | | }, |
| | | { |
| | | code: 'overflowweir', |
| | | name: '溢æµå °', |
| | | sname: '溢æµå °', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'chokevalve', |
| | | name: 'æªæµé¸', |
| | | sname: 'æªæµé¸', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'collectingbasin', |
| | | name: 'éæ°´æ± (ç½)', |
| | | sname: 'éæ°´æ± ', |
| | | minZoom: 10, |
| | | checked: false, |
| | | icon: 'sewers/éæ°´æ± .png' |
| | | }, |
| | |
| | | code: 'oilseparator', |
| | | name: 'éæ²¹æ± ', |
| | | sname: 'éæ²¹æ± ', |
| | | minZoom: 10, |
| | | checked: false, |
| | | icon: 'sewers/éæ²¹æ± .png' |
| | | } |
| | |
| | | { |
| | | code: 'dischargeport', |
| | | name: 'ææ¾å£', |
| | | minZoom: 10, |
| | | sname: 'ææ¾å£', |
| | | checked: false |
| | | } |
| | |
| | | { |
| | | code: 'thirdpartypipe', |
| | | name: 'ç¬¬ä¸æ¹ç®¡é', |
| | | minZoom: 10, |
| | | sname: 'ç¬¬ä¸æ¹ç®¡é', |
| | | checked: false |
| | | }, |
| | |
| | | code: 'firefightingunit', |
| | | name: 'æ¶é²åä½', |
| | | sname: 'æ¶é²åä½', |
| | | minZoom: 10, |
| | | checked: false, |
| | | icon: 'sewers/æ¶é²åä½.png' |
| | | }, |
| | |
| | | code: 'emergencyesources', |
| | | name: 'åºæ¥ç©èµ', |
| | | sname: 'åºæ¥ç©èµ', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | |
| | | name: '社ä¼ä¸ä¸åºæ¥ææ´éä¼', |
| | | sname: 'ä¸ä¸åºæ¥ææ´', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/社ä¼ä¸ä¸åºæ¥ææ´.png' |
| | | }, |
| | | { |
| | |
| | | name: 'ç»´æ¢ä¿®éä¼', |
| | | sname: 'ç»´æ¢ä¿®éä¼', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/社ä¼ä¸ä¸åºæ¥ææ´.png' |
| | | }, |
| | | { |
| | |
| | | name: 'å»é¢', |
| | | sname: 'å»é¢', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/å»é¢.png' |
| | | }, |
| | | { |
| | |
| | | name: 'èªç¶ä¿æ¤åº', |
| | | sname: 'èªç¶ä¿æ¤åº', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/èªç¶ä¿æ¤åº.png' |
| | | }, |
| | | { |
| | |
| | | name: 'æ°´ä½', |
| | | sname: 'æ°´ä½', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/æ°´ä½.png' |
| | | }, |
| | | { |
| | |
| | | name: 'ææç®æ ', |
| | | sname: 'ææç®æ ', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/ææç®æ .png' |
| | | }, |
| | | { |
| | |
| | | name: 'ç¯å¢çæµåä½', |
| | | sname: 'ç¯å¢çæµåä½', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/ç¯å¢çæµåä½.png' |
| | | }, |
| | | { |
| | | code: 'pointcontaminants', |
| | | name: 'çæµç¹æ±¡æç©ææ ä¿¡æ¯', |
| | | sname: '污æç©ææ ', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'dischargeportaround', |
| | | name: 'ææ¾å£å¨è¾¹ç¯å¢ææä¿¡æ¯', |
| | | sname: 'ææ¾å£å¨è¾¹ç¯å¢', |
| | | minZoom: 10, |
| | | checked: false, |
| | | iconN: 'sewers/ææ¾å£å¨è¾¹ææä¿¡æ¯.png' |
| | | }, |
| | |
| | | code: 'pump', |
| | | name: 'æ³µ', |
| | | sname: 'æ³µ', |
| | | minZoom: 10, |
| | | checked: false, |
| | | icon: 'sewers/æ³µ.png' |
| | | }, |
| | |
| | | name: 'æ¶²ä½è®¡', |
| | | sname: 'æ¶²ä½è®¡', |
| | | checked: false, |
| | | minZoom: 10, |
| | | icon: 'sewers/æ¶²ä½è®¡.png' |
| | | }, |
| | | { |
| | | code: 'flowmeter', |
| | | name: 'æµé计', |
| | | sname: 'æµé计', |
| | | minZoom: 10, |
| | | checked: false, |
| | | icon: 'sewers/æµé计.png' |
| | | }, |
| | |
| | | code: 'video', |
| | | name: 'è§é¢çæ§é
ç½®', |
| | | sname: 'è§é¢çæ§', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'onlinemonitoring', |
| | | name: 'å¨çº¿çæµè®¾å¤é
ç½®', |
| | | sname: 'å¨çº¿çæµ', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'combustiblegas', |
| | | name: 'å¯çæ°ä½æ¥è¦è®¾å¤é
ç½®', |
| | | sname: 'å¯çæ°ä½æ¥è¦', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'hydrogensulfide', |
| | | name: 'H2Sæµåº¦æ¥è¦è®¾å¤é
ç½®', |
| | | sname: 'H2Sæµåº¦æ¥è¦', |
| | | minZoom: 10, |
| | | checked: false |
| | | }, |
| | | { |
| | | code: 'controlpoint', |
| | | name: '管线ç¹', |
| | | sname: '管线ç¹', |
| | | minZoom: 10, |
| | | checked: false, |
| | | icon: 'sewers/管线ç¹.png' |
| | | }, |
| | |
| | | code: 'pipesegment', |
| | | name: '管段', |
| | | sname: '管段', |
| | | minZoom: 10, |
| | | checked: false |
| | | } |
| | | ] |
| | |
| | | selectedServiceLayer: '', // 使ç¨è¿æ»¤å¨æ¶ï¼è¢«æå¼çWMSæå¡çCODE |
| | | serviceLayerFilters: {}, // æå¡å¾å±æ§å¶è¿æ»¤é
ç½® |
| | | checkedLayers: {}, // éä¸å¾å±å¯¹è±¡ |
| | | // å¾å±æ°æ® |
| | | // å¾å±æ°æ®,å¾å±å¯¹è±¡ |
| | | layers: { |
| | | sewers: [] |
| | | }, |
| | | // åå§åå°JSONæ°æ® |
| | | datas: { |
| | | sewers: [] |
| | | }, |
| | |
| | | state.map = map |
| | | }, |
| | | // è®¾ç½®æ±¡é¨æ°´å¾å±æ°æ® |
| | | setSewersDatas (state, sewersDatas) { |
| | | state.datas.sewers = sewersDatas |
| | | addSewersLayers (state, sewersLayers) { |
| | | state.layers.sewers.push(sewersLayers) |
| | | }, |
| | | clearSewersLayers (state, SewersLayers) { |
| | | state.layers.sewers = [] |
| | | }, |
| | | addSewersDatas (state, sewersDatas) { |
| | | state.datas.sewers.push(sewersDatas) |
| | | }, |
| | | clearSewersDatas (state, sewersDatas) { |
| | | state.datas.sewers = [] |
| | | }, |
| | | setBasemapHelper (state, layerHelper) { |
| | | state.basemapHelper = layerHelper |