From 8792f905ede68bb1161a1c90948df937861481ad Mon Sep 17 00:00:00 2001 From: chenzeping <ChenZeping02609@163.com> Date: 星期一, 29 三月 2021 18:22:08 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/conf/layers/LayerWasteWater.js | 37 +++ src/conf/layers/LayerWasteGas.js | 51 ++++ src/components/LayerController/logic/Sample.js | 9 src/views/MapTemplate.vue | 11 src/components/LayerController/service/LayerFactory.js | 88 +++++++ src/utils/AjaxUtils.js | 2 src/components/LayerController/modules/LcServiceLayer.vue | 240 ++++++++++---------- src/conf/layers/LayerSewers.js | 22 - src/conf/layers/LayerSolidWaste.js | 27 ++ src/components/LayerController/service/WmsLayerService.js | 11 /dev/null | 30 -- src/components/LayerController/service/WfsLayerService.js | 119 +++++++++ src/components/LayerController/service/PopupService.js | 0 src/conf/Constants.js | 6 src/conf/MapConfig.js | 8 src/components/LayerController/service/BusiLayerService.js | 32 ++ src/components/panel/topicSearch/SewersSearch.vue | 2 17 files changed, 525 insertions(+), 170 deletions(-) diff --git a/src/components/LayerController/logic/Sample.js b/src/components/LayerController/logic/Sample.js new file mode 100644 index 0000000..687b0e7 --- /dev/null +++ b/src/components/LayerController/logic/Sample.js @@ -0,0 +1,9 @@ +module.exports = function () { + this.init = (layer) => { + console.log('sample init !!!') + } + + this.clickListener = (list) => { + console.log('sample clickListener !!!') + } +} diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue index 4b9aa25..ab589f0 100644 --- a/src/components/LayerController/modules/LcServiceLayer.vue +++ b/src/components/LayerController/modules/LcServiceLayer.vue @@ -1,134 +1,134 @@ <template> <div class="inner-panel"> -<!-- <div class="title">--> -<!-- 鍥惧眰鎺у埗--> -<!-- </div>--> -<!-- <div class="wms-panel">--> -<!-- <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>--> -<!-- </div>--> -<!-- <div class="layerbox-item">--> -<!-- <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox"--> -<!-- :name="'wmsSublayers_'+item.code+'_'+itm.code"--> -<!-- :checked="itm.checked"--> -<!-- :value="itm.code"--> -<!-- @change="swWmsLayer(item.url,itm)"/>{{--> -<!-- itm.name }}--> -<!-- </div>--> -<!-- </div>--> -<!-- </div>--> -<!-- </div>--> -<!-- <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>--> + <div class="title"> + 鍥惧眰鎺у埗 + </div> + <div class="wms-panel"> + <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> + </div> + <div class="layerbox-item"> + <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox" + :name="'wmsSublayers_'+item.code+'_'+itm.code" + :checked="itm.checked" + :value="itm.code" + @change="swWmsLayer(itm)"/>{{ + itm.name }} + </div> + </div> + </div> + </div> + <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter> </div> </template> -<!--<script>--> -<!--import WfsHelper from '../../helpers/WfsHelper'--> -<!--import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'--> -<!--import AjaxUtils from '../../../utils/AjaxUtils'--> +<script> +import WfsHelper from '../../helpers/WfsHelper' +import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter' +import AjaxUtils from '../../../utils/AjaxUtils' -<!--export default {--> -<!-- name: 'LcServiceLayer',--> -<!-- components: { LcServiceLayerFilter },--> -<!-- data () {--> -<!-- return {--> -<!-- layerFilterVisible: false--> -<!-- }--> -<!-- },--> -<!-- computed: {--> -<!-- serviceLayers () {--> -<!-- return this.$store.state.map.serviceLayers.LayerSewersLine--> -<!-- }--> -<!-- },--> -<!-- mounted () {--> -<!-- // console.log('03姝ラ锛�', this.helper)--> -<!-- this.updateServiceLayerList()--> -<!-- },--> -<!-- methods: {--> -<!-- swAllLayers (item) {--> -<!-- // eslint-disable-next-line no-debugger--> -<!-- item.checked = !item.checked--> -<!-- for (let i = 0, len = item.layers.length; i < len; ++i) {--> -<!-- item.layers[i].checked = item.checked--> -<!-- }--> -<!-- this.updateWms()--> -<!-- },--> -<!-- loadWfs () {--> -<!-- var wfsHelper = new WfsHelper()--> -<!-- wfsHelper.addTypeName('绠$嚎鐐�')--> -<!-- wfsHelper.addEquals('pipename', '鐮旂┒闄�01璺痀S000001')--> +export default { + name: 'LcServiceLayer', + components: { LcServiceLayerFilter }, + data () { + return { + layerFilterVisible: false + } + }, + computed: { + serviceLayers () { + return this.$store.state.map.serviceLayers.LayerSewersLine + } + }, + mounted () { + // console.log('03姝ラ锛�', this.helper) + this.updateServiceLayerList() + }, + methods: { + swAllLayers (item) { + // eslint-disable-next-line no-debugger + item.checked = !item.checked + for (let i = 0, len = item.layers.length; i < len; ++i) { + item.layers[i].checked = item.checked + } + this.updateWms() + }, + loadWfs () { + var wfsHelper = new WfsHelper() + wfsHelper.addTypeName('绠$嚎鐐�') + wfsHelper.addEquals('pipename', '鐮旂┒闄�01璺痀S000001') -<!-- AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => {--> -<!-- console.log(res)--> -<!-- })--> -<!-- },--> -<!-- swWmsLayer (url, itm) {--> -<!-- itm.checked = !itm.checked--> -<!-- if (itm.checked) {--> -<!-- window.serviceLayerHelper.loadGeojsonLayer(url, itm)--> -<!-- } else {--> -<!-- window.serviceLayerHelper.removeLayer(itm)--> -<!-- }--> -<!-- // this.updateWms()--> -<!-- },--> -<!-- swFilter (item) {--> -<!-- this.layerFilterVisible = !this.layerFilterVisible--> -<!-- },--> -<!-- updateServiceLayerList () {--> + AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => { + console.log(res) + }) + }, + swWmsLayer (itm) { + itm.checked = !itm.checked + if (itm.checked) { + window.layerFactory.show(itm.code) + } else { + window.layerFactory.hide(itm.code) + } + // this.updateWms() + }, + swFilter (item) { + this.layerFilterVisible = !this.layerFilterVisible + }, + updateServiceLayerList () { -<!-- },--> -<!-- updateWms () {--> -<!-- var mapConfig = this.mapConfig--> -<!-- var wmsHelper = new WfsHelper()--> -<!-- wmsHelper.initMapConfig(mapConfig)--> -<!-- var wmsLayersMap = wmsHelper.getWmsLayersMap()--> -<!-- for (var k in wmsLayersMap) {--> -<!-- var layers = wmsLayersMap[k]--> -<!-- var tileLayer = window.serviceLayerHelper.getTileLayer(k)--> -<!-- if (tileLayer) {--> -<!-- tileLayer.setParams({ layers: layers.join(',') }, false)--> -<!-- tileLayer.setUrl(tileLayer.config.url, false)--> -<!-- }--> -<!-- }--> -<!-- }--> -<!-- }--> -<!--}--> -<!--</script>--> + }, + updateWms () { + var mapConfig = this.mapConfig + var wmsHelper = new WfsHelper() + wmsHelper.initMapConfig(mapConfig) + var wmsLayersMap = wmsHelper.getWmsLayersMap() + for (var k in wmsLayersMap) { + var layers = wmsLayersMap[k] + var tileLayer = window.serviceLayerHelper.getTileLayer(k) + if (tileLayer) { + tileLayer.setParams({ layers: layers.join(',') }, false) + tileLayer.setUrl(tileLayer.config.url, false) + } + } + } + } +} +</script> -<!--<style scoped lang="less">--> -<!-- .inner-panel {--> -<!-- .title{--> -<!-- color: #ffffff;--> -<!-- font-size: 16px;--> -<!-- font-weight: 600;--> -<!-- margin: 10px;--> -<!-- text-align: center;--> -<!-- }--> -<!-- .btn-filter {--> -<!-- cursor: pointer;--> -<!-- color: #ffffff;--> -<!-- }--> +<style scoped lang="less"> + .inner-panel { + .title{ + color: #ffffff; + font-size: 16px; + font-weight: 600; + margin: 10px; + text-align: center; + } + .btn-filter { + cursor: pointer; + color: #ffffff; + } -<!-- .wms-panel {--> -<!-- width: 250px;--> + .wms-panel { + width: 250px; -<!-- .layerbox {--> -<!-- width: 100%;--> + .layerbox { + width: 100%; -<!-- .layerbox-item {--> -<!-- display: flex;--> -<!-- flex-flow: row wrap;--> -<!-- margin-left: 15px;--> -<!-- margin-top: 5px;--> + .layerbox-item { + display: flex; + flex-flow: row wrap; + margin-left: 15px; + margin-top: 5px; -<!-- .basemap-layer-item {--> -<!-- width: 50%;--> -<!-- }--> -<!-- }--> -<!-- }--> -<!-- }--> -<!-- }--> + .basemap-layer-item { + width: 50%; + } + } + } + } + } -<!--</style>--> +</style> diff --git a/src/components/LayerController/service/BusiLayerService.js b/src/components/LayerController/service/BusiLayerService.js new file mode 100644 index 0000000..254a819 --- /dev/null +++ b/src/components/LayerController/service/BusiLayerService.js @@ -0,0 +1,32 @@ +/** + * 鍔犺浇涓氬姟鏁版嵁鍥惧眰 + */ +import { logicMapper } from '@src/conf/Constants' + +class BusiLayerService { + constructor (config) { + this.L = window.L + this.map = window.map + this.config = config + } + + init (layer) { + // 寮曞叆 鍏宠仈鐨刯s锛屽湪constant.js涓牴鎹甤onfig閰嶇疆鐨刬d寰楀埌澶勭悊js + const id = this.config.code + console.log(logicMapper) + const file = logicMapper[id] + if (!file) { + console.log('鎵句笉鍒伴�昏緫澶勭悊js!!!') + } else { + console.log('-----' + file) + var BusiLayer = require('../logic/' + file) + console.log(BusiLayer) + var busiLayer = new BusiLayer() + // 璋冪敤init + busiLayer.init(layer) + // 璋冪敤click浜嬩欢 + } + } +} + +export default BusiLayerService diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js new file mode 100644 index 0000000..7626125 --- /dev/null +++ b/src/components/LayerController/service/LayerFactory.js @@ -0,0 +1,88 @@ +import store from '@/store' +import WfsLayerService from './WfsLayerService' +import BusiLayerService from './BusiLayerService' +import WmsLayerService from './WmsLayerService' +class LayerFactory { + constructor (options) { + this.L = options.L + this.map = window.map + this.layers = {} + } + + createLayerGroup () { + return this.L.layerGroup().addTo(this.map) + } + + init () { + // 1. 閬嶅巻layer config + var layerConfig = store.state.map.serviceLayers.LayerSewersLine + 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 childConfig = layers[j] + var code = childConfig.code + var wfs = childConfig.wfs + var wms = childConfig.wms + var url = childConfig.url + // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 蹇界暐鎺� + const layer = this.layers[code] + if (!layer) { + const newLayer = this.createLayerGroup() + this.layers[code] = newLayer + // 2. 鍒ゆ柇绫诲瀷 + if (wfs) { + // 3. 瀹炰緥鍖栧叿浣搒ervice + // var busiLayerService = new BusiLayerService() + // busiLayerService.init() + var wfsLayerService = new WfsLayerService(childConfig) + wfsLayerService.init(newLayer) + } + if (wms) { + var wmsLayerService = new WmsLayerService(childConfig) + wmsLayerService.init(newLayer) + } + // 璇锋眰涓氬姟鏁版嵁鎺ュ彛 + if (url) { + var busiLayerService = new BusiLayerService(childConfig) + busiLayerService.init(newLayer) + } + } else { + this.show(code) + } + } + } + } + + show (code) { + var _layer = this.layers[code].addTo(this.map) + this.setZIndex(_layer) + } + + hide (code) { + var layer = this.layers[code] + layer && this.map.removeLayer(layer) + } + + toggle (code) { + + } + + /** + * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈� + * @param layerGroup 鍥惧眰缁� + */ + setZIndex (layerGroup) { + var layers = layerGroup.getLayers() + if (layers.length > 0) { + var layer = layers[0] + if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) { + layerGroup.bringToBack() + } else { + layerGroup.bringToFront() + } + } + } +} + +export default LayerFactory diff --git a/src/components/LayerController/service/PopupService.js b/src/components/LayerController/service/PopupService.js new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/components/LayerController/service/PopupService.js diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js new file mode 100644 index 0000000..e5a175d --- /dev/null +++ b/src/components/LayerController/service/WfsLayerService.js @@ -0,0 +1,119 @@ +/** + * 鍔犺浇涓氬姟鏁版嵁鍥惧眰 + */ + +import styles from '../../../conf/Styles' +import AjaxUtils from '../../../utils/AjaxUtils' + +class WfsLayerService { + constructor (config) { + this.config = config + this.params = { + version: '1.0.0', + REQUEST: 'getfeature', + OUTPUTFORMAT: 'json', + maxFeatures: 20000 + } + this.popupComp = window.popupComp + this.L = window.L + this.map = window.map + this.regex = /\{(.+?)\}/g // 鍖归厤{} + } + + init (layer) { + const wfsUrl = this.config.wfs + if (wfsUrl) { + AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(layer, res.data.features)) + } + } + + draw (layer, features) { + const icon = this.config.icon + const geojson = this.L.geoJSON(features, { + style: function (feature) { + return { + fill: styles.defaultLineStyle.fill, + weight: styles.defaultLineStyle.weight, + fillColor: styles.defaultLineStyle.fillColor, + color: styles.defaultLineStyle.color, + fillOpacity: styles.defaultLineStyle.fillOpacity, + opacity: styles.defaultLineStyle.opacity, + dashArray: styles.defaultLineStyle.dashArray, + dashSpeed: styles.defaultLineStyle.dashSpeed + } + }, + pointToLayer: (geoJsonPoint, latlng) => { + return this.L.canvasMarker(latlng, + { + img: { + // url: 'assets/images/map/marker-icon.png', + url: '/assets/images/map/' + icon, + size: styles.defaultLineStyle.size + } + }) + }, + onEachFeature: (feature, layer) => { + layer.bindPopup((layer) => { + this.popupComp.setDatas(layer) + this.popupComp.setShow() + return this.popupComp.$el + }, { + className: 's-map-popup', + minWidth: 300, + closeButton: false, + autoClose: false + }) + .bindTooltip((layer) => this.tooltipListener(layer), { direction: 'bottom', offset: [0, 15], sticky: true }) + .on('mouseover', (e) => this.mouseOverListener(e, layer)).on('mouseout', (e) => this.mouseOutListener(e, layer)) + } + }).addTo(layer) + return geojson + } + + mouseOverListener (e, layer) { + const icon = this.config.icon + const type = e.target.feature.geometry.type + if (type === 'LineString' || type === 'MultiLineString') { + layer.setStyle({ weight: 8, color: '#00ffff' }) + } else if (type === 'Point' || type === 'MultiPoint') { + layer.setStyle({ + img: { + url: '/assets/images/map/' + icon, + size: [25, 25] + } + }) + layer.bringToFront() + } + } + + mouseOutListener (e, layer) { + const icon = this.config.icon + const type = e.target.feature.geometry.type + if (type === 'LineString' || type === 'MultiLineString') { + layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color }) + } + if (type === 'Point' || type === 'MultiPoint') { + layer.setStyle({ + img: { + url: '/assets/images/map/' + icon, + size: styles.defaultLineStyle.size + } + }) + } + } + + tooltipListener (layer) { + const nameId = layer.feature.id + let name = '' + 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 + } +} +export default WfsLayerService diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js new file mode 100644 index 0000000..b818aec --- /dev/null +++ b/src/components/LayerController/service/WmsLayerService.js @@ -0,0 +1,11 @@ +class WfsLayerService { + constructor (config) { + this.config = config + } + + init () { + + } +} + +export default WfsLayerService diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue index f6ff0f2..c969cde 100644 --- a/src/components/panel/topicSearch/SewersSearch.vue +++ b/src/components/panel/topicSearch/SewersSearch.vue @@ -101,7 +101,7 @@ </template> <script> -import { PipelineTypeOptions } from '@/conf/LayerSewers' +import { PipelineTypeOptions } from '@/conf/layers/LayerSewers' import WfsHelper from '@components/helpers/WfsHelper' import AjaxUtils from '@utils/AjaxUtils' diff --git a/src/conf/Constants.js b/src/conf/Constants.js index 72bb8f0..cef757c 100644 --- a/src/conf/Constants.js +++ b/src/conf/Constants.js @@ -4,6 +4,12 @@ POLYGON: 'polygon' } +export const logicMapper = { + fsqy: 'Sample.js', + fspfk: 'Sample.js', + fsjcd: 'Sample.js' +} + export const props = { pipename: '绠$嚎鍚嶇О', pipecode: '绠$嚎缂栫爜', diff --git a/src/conf/LayerWasteWater.js b/src/conf/LayerWasteWater.js deleted file mode 100644 index 950943c..0000000 --- a/src/conf/LayerWasteWater.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * 搴熸按鍥惧眰 - * @type {string} - */ -const APP_GIS_HOST_2 = 'http://xearth.cn:8088' -export const LayerWasteWater = { - code: 'pipeline', - name: '搴熸按', - type: 'geojson', - // url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLineTest/wms?version=1.1.1', - // url: APP_GIS_HOST_2 + '/layer/findLayer?layerName={sname}', - url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', - checked: true, - layers: [ - { - code: 'rainline', - name: '浼佷笟', - sname: '浼佷笟', // 琛ㄥ悕 - checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, - minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀� - childLayer: 'fsss,hbss' // 鍏宠仈PointLayers - }, - { - code: 'oilline', - name: '鐩戞祴鐐�', - sname: '鐩戞祴鐐�', - checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, - minZoom: 10, - childLayer: 'fsss,hbss' // 鍏宠仈PointLayers - }, - { - code: 'saltline', - name: '鎺掓斁鍙�', - sname: '鎺掓斁鍙�', - checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, - minZoom: 10, - childLayer: 'fsss,hbss' // 鍏宠仈PointLayers - } - ] -} diff --git a/src/conf/Layers.js b/src/conf/Layers.js deleted file mode 100644 index 5c69adf..0000000 --- a/src/conf/Layers.js +++ /dev/null @@ -1,30 +0,0 @@ -// import * as L from 'leaflet' -import { LayerSewers, PointLayers } from './LayerSewers' -// const APP_GIS_HOST = 'http://xearth.cn:6299' - -// 鍑犱綍绫诲瀷甯搁噺 - -export const ServiceLayers = [ - /* { - code: 'pipeline', - name: '绠$綉鏁版嵁', - icon_actived: '', - icon_deactived: '', - type: 'wms', - // url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLineTest/wms?version=1.1.1', - url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLine/wms?version=1.1.1', - inLegend: true, - checked: true, - option: { - layers: 'all', - styles: '', // Comma-separated list of WMS styles. - format: 'image/png', // WMS image format (use 'image/png' for layers with transparency). - transparent: true, // If true, the WMS service will return images with transparency. - version: '1.1.1', // Version of the WMS service to use - tileSize: L.point(256, 256), - crs: L.CRS.EPSG4326, // Coordinate Reference System to use for the WMS requests, defaults to map CRS. Don't change this if you're not sure what it means. - uppercase: false, - WMSTILE: 1 - }, */ - LayerSewers, PointLayers -] diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js index a039e8f..636c051 100644 --- a/src/conf/MapConfig.js +++ b/src/conf/MapConfig.js @@ -1,7 +1,9 @@ 锘縤mport * as L from 'leaflet' import TDT from './TDT' -import { LayerSewersLine, LayerSewersPoint } from './LayerSewers' -import { LayerWasteWater } from './LayerWasteWater' +import { LayerSewersLine, LayerSewersPoint } from './layers/LayerSewers' +import { LayerWasteWater } from './layers/LayerWasteWater' +import { LayerSolidWaste } from './layers/LayerSolidWaste' +import { LayerWasteGas } from './layers/LayerWasteGas' const curWwwPath = window.document.location.href const pathname = window.document.location.pathname @@ -40,7 +42,7 @@ IntranetBaseMaps: TDT.intranet, InternetBaseMaps: TDT.internet, Layers: { - LayerSewersLine: [LayerSewersLine, LayerWasteWater], + LayerSewersLine: [LayerSewersLine, LayerWasteWater, LayerWasteWater, LayerWasteGas, LayerSolidWaste], layerSewersPoint: LayerSewersPoint } // 姹¢洦姘村浘灞傞厤缃� } diff --git a/src/conf/LayerSewers.js b/src/conf/layers/LayerSewers.js similarity index 99% rename from src/conf/LayerSewers.js rename to src/conf/layers/LayerSewers.js index 65c109d..a61b541 100644 --- a/src/conf/LayerSewers.js +++ b/src/conf/layers/LayerSewers.js @@ -1,13 +1,11 @@ const APP_GIS_HOST_2 = 'http://xearth.cn:8088' +const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' // const APP_GIS_HOST_2 = 'http://localhost:3000' // const APP_GIS_HOST_2 = 'http://192.168.31.226:8088' export const LayerSewersLine = { code: 'pipeline', name: '绠$綉鏁版嵁', type: 'geojson', - // url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLineTest/wms?version=1.1.1', - // url: APP_GIS_HOST_2 + '/layer/findLayer?layerName={sname}', - url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000', checked: true, layers: [ { @@ -15,7 +13,7 @@ name: '闆ㄦ按绾�', sname: '绠$綉', // 琛ㄥ悕 checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=绠$綉', minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀� childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -24,7 +22,7 @@ name: '鍚补姹℃按绾�', sname: '鍚补姹℃按', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=鍚补姹℃按', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -33,7 +31,7 @@ name: '鍚洂姹℃按绾�', sname: '鍚洂姹℃按', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=鍚洂姹℃按', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -42,7 +40,7 @@ name: '鍚⒈姹℃按绾�', sname: '鍚⒈姹℃按', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=鍚⒈姹℃按', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -51,7 +49,7 @@ name: '鎺掑彛', sname: '鎺掑彛', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=鎺掑彛', minZoom: 10, childLayer: 'pk' // 鍏宠仈PointLayers }, @@ -60,7 +58,7 @@ name: '浜嬫晠姘寸嚎', sname: '浜嬫晠姘�', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=浜嬫晠姘�', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -69,7 +67,7 @@ name: '寰幆姘寸嚎', sname: '寰幆姘�', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=寰幆姘�', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -78,7 +76,7 @@ name: '鍑�鍖栨按绾�', sname: '鍑�鍖栨按', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=鍑�鍖栨按', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, @@ -87,7 +85,7 @@ name: '鐢熸椿姹℃按', sname: '鐢熸椿姹℃按', checked: true, // 榛樿閫変腑鐘舵�� - filter: {}, + wfs: WFS_URL + '?TYPENAME=鐢熸椿姹℃按', minZoom: 10, childLayer: 'fsss,hbss' // 鍏宠仈PointLayers }, diff --git a/src/conf/layers/LayerSolidWaste.js b/src/conf/layers/LayerSolidWaste.js new file mode 100644 index 0000000..3a654b6 --- /dev/null +++ b/src/conf/layers/LayerSolidWaste.js @@ -0,0 +1,27 @@ +/** + * 鍥哄簾鍥惧眰 + * @type {string} + */ +export const LayerSolidWaste = { + code: 'solidWaste', + name: '搴熸皵', + checked: true, + layers: [ + { + code: 'solidWasteQy', + name: '浼佷笟', + sname: '浼佷笟', // 琛ㄥ悕 + checked: true, // 榛樿閫変腑鐘舵�� + url: 'http://www.baidu.com', // 璇锋眰涓氬姟鏁版嵁鎺ュ彛 + minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀� + }, + { + code: 'solidWasteJcd', + name: '鐩戞祴鐐�', + sname: '鐩戞祴鐐�', + checked: true, // 榛樿閫変腑鐘舵�� + url: 'http://www.baidu2.com', + minZoom: 10 + } + ] +} diff --git a/src/conf/layers/LayerWasteGas.js b/src/conf/layers/LayerWasteGas.js new file mode 100644 index 0000000..3860e94 --- /dev/null +++ b/src/conf/layers/LayerWasteGas.js @@ -0,0 +1,51 @@ +/** + * 搴熸皵鍥惧眰 + * @type {string} + */ +export const LayerWasteGas = { + code: 'wasteGas', + name: '搴熸皵', + checked: true, + layers: [ + { + code: 'wasteGasQy', + name: '浼佷笟', + sname: '浼佷笟', // 琛ㄥ悕 + checked: true, // 榛樿閫変腑鐘舵�� + url: 'http://www.baidu.com', // 璇锋眰涓氬姟鏁版嵁鎺ュ彛 + minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀� + }, + { + code: 'wasteGasJcd', + name: '鐩戞祴鐐�', + sname: '鐩戞祴鐐�', + checked: true, // 榛樿閫変腑鐘舵�� + url: 'http://www.baidu2.com', + minZoom: 10 + }, + { + code: 'wasteGasVocs', + name: 'VOCs', + sname: 'VOCs', + checked: true, // 榛樿閫変腑鐘舵�� + url: '', + minZoom: 10 + }, + { + code: 'wasteGasKrq', + name: '鍙噧姘�', + sname: '鍙噧姘�', + checked: true, // 榛樿閫変腑鐘舵�� + url: '', + minZoom: 10 + }, + { + code: 'wasteGasYhq', + name: '鏈夊姘�', + sname: '鏈夊姘�', + checked: true, // 榛樿閫変腑鐘舵�� + url: '', + minZoom: 10 + } + ] +} diff --git a/src/conf/layers/LayerWasteWater.js b/src/conf/layers/LayerWasteWater.js new file mode 100644 index 0000000..3f1ff32 --- /dev/null +++ b/src/conf/layers/LayerWasteWater.js @@ -0,0 +1,37 @@ +/** + * 搴熸按鍥惧眰 + * @type {string} + */ +export const LayerWasteWater = { + code: 'pipeline', + name: '搴熸按', + checked: true, + layers: [ + { + code: 'fsqy', + name: '浼佷笟', + sname: '浼佷笟', // 琛ㄥ悕 + checked: true, // 榛樿閫変腑鐘舵�� + url: 'http://www.baidu.com', // 璇锋眰涓氬姟鏁版嵁鎺ュ彛 + minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀� + }, + { + code: 'fsjcd', + name: '鐩戞祴鐐�', + sname: '鐩戞祴鐐�', + checked: true, // 榛樿閫変腑鐘舵�� + url: 'http://www.baidu2.com', + minZoom: 10, + childLayer: 'fsss,hbss' // 鍏宠仈PointLayers + }, + { + code: 'fspfk', + name: '鎺掓斁鍙�', + sname: '鎺掓斁鍙�', + checked: true, // 榛樿閫変腑鐘舵�� + url: '', + minZoom: 10, + childLayer: 'fsss,hbss' // 鍏宠仈PointLayers + } + ] +} diff --git a/src/utils/AjaxUtils.js b/src/utils/AjaxUtils.js index 0499763..d0e1bfa 100644 --- a/src/utils/AjaxUtils.js +++ b/src/utils/AjaxUtils.js @@ -33,7 +33,7 @@ axios({ method: 'get', url: pUrl, - data: pData + params: pData }).then(function (response) { pBackFun(response) }) diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue index c5d2668..3c4b0f5 100644 --- a/src/views/MapTemplate.vue +++ b/src/views/MapTemplate.vue @@ -144,12 +144,17 @@ this.map = Sgis.initMap(mapcontainer) this.$refs.toolBox.map = this.map + window.popupComp = this.$refs.popup + var layerFactory = new LayerFactory({ L: window.L, map: this.map }) + layerFactory.init() + window.layerFactory = layerFactory + this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 - this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� - console.log('-------' + this.$refs.popup.$el) - this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup) + // this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� + // console.log('-------' + this.$refs.popup.$el) + // this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup) this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� this.vectorLayerHelper.initVectorLayers(this.config) -- Gitblit v1.8.0