From fcfa31314ffe78f75e9dcfbef4c376d3cebf1359 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期一, 28 十二月 2020 15:51:57 +0800 Subject: [PATCH] 图层控制 --- src/components/helpers/WmsHelper.js | 74 ++++++++ src/conf/MapConfig.js | 74 ++++---- src/components/helpers/ServiceLayerHelper.js | 83 +++++---- src/components/LayerController/modules/LcServiceLayer.vue | 272 ++++++++++++++++------------- 4 files changed, 307 insertions(+), 196 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue index 82a30b2..1496c2d 100644 --- a/src/components/LayerController/modules/LcServiceLayer.vue +++ b/src/components/LayerController/modules/LcServiceLayer.vue @@ -1,142 +1,168 @@ <template> - <div class="inner-panel"> - <div class="tile-panel"> - <div v-for="item in serviceTileLayerList" :key="item.code"><input type="checkbox" :value="item.name" @change="swTileLayer"/></div> - </div> - <div class="wmts-panel"> - <div v-for="item in serviceWmtsLayerList" :key="item.code"><input type="checkbox" :value="item.name" @change="swWmtsLayer"/></div> - </div> - <div class="wms-panel"> - <div v-for="item in serviceWmsLayerList" :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.sname}}</div> + <div class="inner-panel"> + <div class="tile-panel"> + <div v-for="item in serviceTileLayerList" :key="item.code"><input type="checkbox" :value="item.name" + @change="swTileLayer"/></div> + </div> + <div class="wmts-panel"> + <div v-for="item in serviceWmtsLayerList" :key="item.code"><input type="checkbox" :value="item.name" + @change="swWmtsLayer"/></div> + </div> + <div class="wms-panel"> + <div v-for="item in serviceWmsLayerList" :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.sname}} + </div> + </div> </div> </div> - </div> - </div> + </div> </template> <script> -import { mapState, mapMutations } from "vuex"; -export default { - name: "LcServiceLayer", - components: {}, - data() { - return { - selectedLineLayer: [], // 閫変腑鐨勭绾垮浘灞� - selectedSubsidiaryLayer: [], // 閫変腑鐨勯檮灞炶绱� - serviceTileLayerList: [], // Tile鍥惧眰鍒楄〃 - serviceWmtsLayerList: [], // Wmts鍥惧眰鍒楄〃 - serviceWmsLayerList: [] // 鍥惧眰鍒楄〃 + import {mapState, mapMutations} from "vuex"; + import WmsHelper from "../../helpers/WmsHelper"; + + var wmsHelper = new WmsHelper() + export default { + name: "LcServiceLayer", + components: {}, + data() { + return { + selectedLineLayer: [], // 閫変腑鐨勭绾垮浘灞� + selectedSubsidiaryLayer: [], // 閫変腑鐨勯檮灞炶绱� + serviceTileLayerList: [], // Tile鍥惧眰鍒楄〃 + serviceWmtsLayerList: [], // Wmts鍥惧眰鍒楄〃 + serviceWmsLayerList: [] // 鍥惧眰鍒楄〃 + }; + }, + computed: { + ...mapState({ + serviceLayerHelper: (state) => { + return state.serviceLayerHelper + }, + mapConfig: (state) => { + return state.mapConfig + } + }), + }, + mounted() { + // console.log('03姝ラ锛�', this.helper) + }, + methods: { + ...mapMutations(['setSelectedServiceLayer', 'toggleServiceLayerFilter']), + 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() + + console.log(this.mapConfig) + }, + swTileLayer() { + console.log('璇ILE鏂规硶鏈疄鐜帮紒') + }, + swWmtsLayer() { + console.log('璇MTS鏂规硶鏈疄鐜帮紒') + }, + swWmsLayer(itm) { + itm.checked = !itm.checked + this.updateWms() + }, + swFilter(item) { + this.$store.commit('setSelectedServiceLayer', item.code) + this.$store.commit('toggleServiceLayerFilter') + }, + updateServiceLayerList() { + // eslint-disable-next-line no-debugger + // debugger + let tileCfg = this.serviceLayerHelper.getTileLayers() + this.serviceTileLayerList = [] + for (let i = 0, len = tileCfg.length; i < len; ++i) { + if (tileCfg[i].config.inLegend) { + console.log(tileCfg[i]) + } + } + let wmtsCfg = this.serviceLayerHelper.getWmtsLayers() + this.serviceWmtsLayerList = [] + for (let i = 0, len = wmtsCfg.length; i < len; ++i) { + if (wmtsCfg[i].config.inLegend) { + console.log(wmtsCfg[i]) + } + } + let wmsCfg = this.serviceLayerHelper.getWmsLayers() + this.serviceWmsLayerList = [] + for (let i = 0, len = wmsCfg.length; i < len; ++i) { + if (wmsCfg[i].config.inLegend) { + this.serviceWmsLayerList.push(wmsCfg[i].config) + } + } + }, + updateWms() { + var mapConfig = this.mapConfig + wmsHelper.initMapConfig(mapConfig) + var wmsLayersMap = wmsHelper.getWmsLayersMap() + //var filterURL = wmsHelper.getFilterURL() + console.log(wmsLayersMap) + for (var k in wmsLayersMap) { + var layers = wmsLayersMap[k] + var tileLayer = this.serviceLayerHelper.getTileLayer(k) + if (tileLayer) { + tileLayer.setParams({layers: layers}, true) + } + } + } + }, + watch: { + serviceLayerHelper(newVal) { + if (newVal != null) { + this.updateServiceLayerList(); + } + }, + }, }; - }, - computed: { - ...mapState({ - serviceLayerHelper: (state) => { - return state.serviceLayerHelper - }, - mapConfig: (state) => { - return state.mapConfig - } - }), - }, - mounted() { - // console.log('03姝ラ锛�', this.helper) - }, - methods: { - ...mapMutations(['setSelectedServiceLayer','toggleServiceLayerFilter']), - 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() - - console.log(this.mapConfig) - }, - swTileLayer(){ - console.log('璇ILE鏂规硶鏈疄鐜帮紒') - }, - swWmtsLayer(){ - console.log('璇MTS鏂规硶鏈疄鐜帮紒') - }, - swWmsLayer(itm){ - itm.checked = !itm.checked - this.updateWms() - }, - swFilter(item){ - this.$store.commit('setSelectedServiceLayer', item.code) - this.$store.commit('toggleServiceLayerFilter') - }, - updateServiceLayerList(){ - // eslint-disable-next-line no-debugger - // debugger - let tileCfg = this.serviceLayerHelper.getTileLayers() - this.serviceTileLayerList = [] - for(let i = 0,len = tileCfg.length; i < len; ++i) { - if(tileCfg[i].config.inLegend){ - console.log(tileCfg[i]) - } - } - let wmtsCfg = this.serviceLayerHelper.getWmtsLayers() - this.serviceWmtsLayerList = [] - for(let i = 0,len = wmtsCfg.length; i < len; ++i) { - if(wmtsCfg[i].config.inLegend){ - console.log(wmtsCfg[i]) - } - } - let wmsCfg = this.serviceLayerHelper.getWmsLayers() - this.serviceWmsLayerList = [] - for(let i = 0,len = wmsCfg.length; i < len; ++i) { - if(wmsCfg[i].config.inLegend){ - this.serviceWmsLayerList.push(wmsCfg[i].config) - } - } - }, - updateWms(){ - - } - }, - watch: { - serviceLayerHelper(newVal) { - if (newVal != null) { - this.updateServiceLayerList(); - } - }, - }, -}; </script> <style scoped lang="less"> -.inner-panel { - display: flex; - justify-content: center; - align-items: center; + .inner-panel { + display: flex; + justify-content: center; + align-items: center; - .btn-filter{ - cursor: pointer; - } - .wms-panel{ - display:flex; - flex-flow: column; - .layerbox{ - width: 100%; - display:flex; + .btn-filter { + cursor: pointer; + } + + .wms-panel { + display: flex; flex-flow: column; - .layerbox-item{ - display:flex; - flex-flow: row wrap; - margin-left: 15px; - margin-top: 5px; - .basemap-layer-item{ - width: 50%; + .layerbox { + width: 100%; + display: flex; + flex-flow: column; + + .layerbox-item { + display: flex; + flex-flow: row wrap; + margin-left: 15px; + margin-top: 5px; + + .basemap-layer-item { + width: 50%; + } } } } } -} </style> diff --git a/src/components/helpers/ServiceLayerHelper.js b/src/components/helpers/ServiceLayerHelper.js index b571d98..21573a9 100644 --- a/src/components/helpers/ServiceLayerHelper.js +++ b/src/components/helpers/ServiceLayerHelper.js @@ -3,8 +3,9 @@ * 鍒涘缓鍥惧眰鐩稿叧鐨勭被 */ import L from 'leaflet' + class ServiceLayerHelper { - constructor(options){ + constructor(options) { this.map = options.map this.L = options.L this.tileLayersMap = new Map() @@ -14,28 +15,32 @@ this.mapConfig = {} } + getTileLayer(code) { + return this.tileLayersMap.get(code) + } + /** * 鏍规嵁閰嶇疆鏂囦欢鍒濆鍖栦笟鍔″簳鍥� */ - initServiceLayers(mapConfig){ + initServiceLayers(mapConfig) { this.mapConfig = mapConfig this._loadLayers(mapConfig) } /** * 鎸夐厤缃枃浠跺姞杞戒笁绉嶄笉鍚岀被鍨嬬殑 - * @param {*} mapConfig - * @param {*} isAddToMap + * @param {*} mapConfig + * @param {*} isAddToMap */ - _loadLayers(mapConfig, isAddToMap = true){ - console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�',mapConfig) - for(let i = 0, len = mapConfig.mapConfig.ServiceLayers.length; i < len; ++i) { + _loadLayers(mapConfig, isAddToMap = true) { + console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�', mapConfig) + for (let i = 0, len = mapConfig.mapConfig.ServiceLayers.length; i < len; ++i) { let opt = mapConfig.mapConfig.ServiceLayers[i] - if(opt.type === 'wmts') { + if (opt.type === 'wmts') { this.loadWmtsLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i]) - }else if(opt.type === 'wms') { + } else if (opt.type === 'wms') { this.loadWmsLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i]) - }else if(opt.type === 'tile') { + } else if (opt.type === 'tile') { this.loadTileLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i]) } } @@ -43,29 +48,30 @@ /** * 寰�鍦板浘涓姞鍏ヤ竴涓猈MTS鏈嶅姟 - * @param {}} options - * @param {*} isAddToMap + * @param {}} options + * @param {*} isAddToMap */ loadWmtsLayer(options, isAddToMap = true, config) { const layer = this.L.tileLayer(options.url, options.option); layer.config = config - - if(isAddToMap) { + + if (isAddToMap) { layer.addTo(this.map) } this.tileLayersMap.set(options.code, layer) this.tileLayersWMTSArray.push(layer) } + /** * 寰�鍦板浘涓姞鍏ヤ竴涓猈MS鏈嶅姟 - * @param {}} options - * @param {*} isAddToMap + * @param {}} options + * @param {*} isAddToMap */ loadWmsLayer(options, isAddToMap = true, config) { - const layer =this.L.tileLayer.wms(options.url, options.option); + const layer = this.L.tileLayer.wms(options.url, options.option); layer.config = config - if(isAddToMap) { + if (isAddToMap) { layer.addTo(this.map) } this.tileLayersMap.set(options.code, layer) @@ -74,11 +80,11 @@ /** * 寰�鍦板浘涓姞鍏ヤ竴涓猅ILE鏈嶅姟 - * @param {}} options - * @param {*} isAddToMap + * @param {}} options + * @param {*} isAddToMap */ loadTileLayer(options, isAddToMap = true, config) { - const layer =this.L.tileLayer(options.url, { + const layer = this.L.tileLayer(options.url, { layers: options.layers || 'all',//country format: options.format || "image/png", transparent: options.true || true, @@ -88,29 +94,31 @@ zoomOffset: options.zoomOffset || 0 }); layer.config = config - - if(isAddToMap) { + + if (isAddToMap) { layer.addTo(this.map) } - this.tileLayersMap.set(options.code , layer) + this.tileLayersMap.set(options.code, layer) this.tileLayersTileArray.push(layer) } + /** * 闅愯棌鏈嶅姟鍥惧眰 - * @param {*} name + * @param {*} name */ - hideTileLayer(code){ - if(this.tileLayersMap){ + hideTileLayer(code) { + if (this.tileLayersMap) { let tileLayer = this.tileLayersMap.get(code) this.map.removeLayer(tileLayer) } } + /** * 灞曠ず鏈嶅姟鍥惧眰 - * @param {*} name + * @param {*} name */ - showTileLayer(code){ - if(this.tileLayersMap){ + showTileLayer(code) { + if (this.tileLayersMap) { let tileLayer = this.tileLayersMap.get(code) this.map.addLayer(tileLayer) } @@ -119,19 +127,21 @@ /** * 鑾峰彇鎵�鏈夌殑TILE鏈嶅姟鍥惧眰 */ - getTileLayers(){ + getTileLayers() { return this.tileLayersTileArray } + /** * 鑾峰彇鎵�鏈夌殑WMTS鏈嶅姟鍥惧眰 */ - getWmtsLayers(){ + getWmtsLayers() { return this.tileLayersWMTSArray } + /** * 鑾峰彇鎵�鏈夌殑WMS鏈嶅姟鍥惧眰 */ - getWmsLayers(){ + getWmsLayers() { return this.tileLayersWMSArray } @@ -139,14 +149,15 @@ * 閫氳繃code鏌ユ壘WMS鐨勬湇鍔¢厤缃� * @param {} code wms鏈嶅姟閰嶇疆鐨刢ode */ - getWMSConfig(code){ + getWMSConfig(code) { let mc = this.mapConfig - for(let i = 0, len = mc.mapConfig.ServiceLayers.length; i < len; ++i) { - if(code == mc.mapConfig.ServiceLayers[i].code && mc.mapConfig.ServiceLayers[i].type === 'wms'){ + for (let i = 0, len = mc.mapConfig.ServiceLayers.length; i < len; ++i) { + if (code == mc.mapConfig.ServiceLayers[i].code && mc.mapConfig.ServiceLayers[i].type === 'wms') { return mc.mapConfig.ServiceLayers[i] } } return null } } + export default ServiceLayerHelper diff --git a/src/components/helpers/WmsHelper.js b/src/components/helpers/WmsHelper.js new file mode 100644 index 0000000..b75847e --- /dev/null +++ b/src/components/helpers/WmsHelper.js @@ -0,0 +1,74 @@ +/** + * 鍔犺浇WMS,鎷兼帴FILTER,LAYERS鍙傛暟绛� + */ +function WmsHelper() { + this.filters = {} + this.wmsLayersMap = {} + + this.initMapConfig = (mapConfig) => { + var serviceLayers = mapConfig.mapConfig.ServiceLayers + for (var i = 0; i < serviceLayers.length; i++) { + var service = serviceLayers[i] + var checked = service.checked + if (!checked) { + break + } + var filtersGroup = service.filtersGroup + if (filtersGroup) { + this.initLayer(service.code, filtersGroup) + } + } + } + this.initLayer = (wms, layersGroup) => { + for (var i = 0; i < layersGroup.length; i++) { + var filters = layersGroup[i].filters + for (var j = 0; j < filters.length; j++) { + var layer = filters[j] + var code = layer.code + this.addLayer(wms, code) + } + } + } + this.initFilter = () => { + /* for (var i = 0; i < filters.length; i++) { + var filter = filters[i] + this.addFilter() + }*/ + } + this.addLayer = (wms, layer) => { + var wmsLayer = this.wmsLayersMap[wms] + if (wmsLayer) { + wmsLayer[wmsLayer.length] = layer + } else { + this.wmsLayersMap[wms] = [layer] + } + } + this.addFilter = (condition) => { + //var filter = this.filters[layer] + //if (filter) { + this.filters[this.filters.length] = condition + //} else { + // this.filters[layer] = [condition] + // } + } + this.getWmsLayersMap = () => { + return this.wmsLayersMap + } + this.getFilterURL = () => { + var filterURL = '' + var conditions = '' + for (var f in this.filters) { + var filters = this.filters[f] + for (var i = 0; i < filters.length; i++) { + conditions += filters[i] + if (i < filters.length) { + conditions += ',' + } + } + filterURL += f + '.(' + conditions + ');' + } + return filterURL.substr(0, filterURL.length - 1) + } +} + +export default WmsHelper diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js index 7611aec..5bd5ccd 100644 --- a/src/conf/MapConfig.js +++ b/src/conf/MapConfig.js @@ -309,56 +309,56 @@ checked: true, // 榛樿閫変腑鐘舵�� filters:[ { - code:'鍥涢��', + code:'fourlink', name:'鍥涢��', sname:'鍥涢��', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'涓夐��', + code:'tee', name:'涓夐��', sname:'涓夐��', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'绠℃灦(澧�)', + code:'piperack', name:'绠℃灦(澧�)', sname:'绠℃灦', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'绠″粖(甯�)', + code:'pipegallery', name:'绠″粖(甯�)', sname:'绠″粖', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'娴佸悜', + code:'pipesegment', name:'娴佸悜', sname:'娴佸悜', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'绠$綉', + code:'pipeline', name:'绠$綉', sname:'绠$綉', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'闃�闂�', + code:'valve', name:'闃�闂�', sname:'闃�闂�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'寮ご', + code:'elbow', name:'寮ご', sname:'寮ご', checked: true, // 榛樿閫変腑鐘舵�� @@ -372,49 +372,49 @@ checked: true, // 榛樿閫変腑鐘舵�� filters:[ { - code:'绐ㄤ簳', + code:'manhole', name:'绐ㄤ簳', sname:'绐ㄤ簳', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'闃茬伀鍫�', + code:'firedike', name:'闃茬伀鍫�', sname:'闃茬伀鍫�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'闆ㄧ瀛�', + code:'raingate', name:'闆ㄧ瀛�', sname:'闆ㄧ瀛�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'婧㈡祦鍫�', + code:'overflowweir', name:'婧㈡祦鍫�', sname:'婧㈡祦鍫�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鎴祦闂�', + code:'chokevalve', name:'鎴祦闂�', sname:'鎴祦闂�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'闆嗘按姹�(缃�)', + code:'collectingbasin', name:'闆嗘按姹�(缃�)', sname:'闆嗘按姹�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'闅旀补姹�', + code:'oilseparator', name:'闅旀补姹�', sname:'闅旀补姹�', checked: true, // 榛樿閫変腑鐘舵�� @@ -428,7 +428,7 @@ checked: true, // 榛樿閫変腑鐘舵�� filters:[ { - code:'鎺掓斁鍙�', + code:'dischargeport', name:'鎺掓斁鍙�', sname:'鎺掓斁鍙�', checked: true, // 榛樿閫変腑鐘舵�� @@ -442,147 +442,147 @@ checked: true, // 榛樿閫変腑鐘舵�� filters:[ { - code:'绗笁鏂圭閬�', + code:'thirdpartypipe', name:'绗笁鏂圭閬�', sname:'绗笁鏂圭閬�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'娑堥槻鍗曚綅', + code:'firefightingunit', name:'娑堥槻鍗曚綅', sname:'娑堥槻鍗曚綅', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'搴旀�ョ墿璧�', + code:'emergencyesources', name:'搴旀�ョ墿璧�', sname:'搴旀�ョ墿璧�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'绀句細涓撲笟搴旀�ユ晳鎻撮槦浼�', + code:'emergencyres', name:'绀句細涓撲笟搴旀�ユ晳鎻撮槦浼�', sname:'涓撲笟搴旀�ユ晳鎻�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'缁存姠淇槦浼�', + code:'maintenanceteam', name:'缁存姠淇槦浼�', sname:'缁存姠淇槦浼�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鍖婚櫌', + code:'hospital', name:'鍖婚櫌', sname:'鍖婚櫌', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鑷劧淇濇姢鍖�', + code:'pointpreservationzone', name:'鑷劧淇濇姢鍖�', sname:'鑷劧淇濇姢鍖�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'姘翠綋', + code:'pointhydrology', name:'姘翠綋', sname:'姘翠綋', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鏁忔劅鐩爣', + code:'sensitivetarget', name:'鏁忔劅鐩爣', sname:'鏁忔劅鐩爣', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鐜鐩戞祴鍗曚綅', + code:'envmonunit', name:'鐜鐩戞祴鍗曚綅', sname:'鐜鐩戞祴鍗曚綅', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鐩戞祴鐐规薄鏌撶墿鎸囨爣淇℃伅', + code:'pointcontaminants', name:'鐩戞祴鐐规薄鏌撶墿鎸囨爣淇℃伅', sname:'姹℃煋鐗╂寚鏍�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鎺掓斁鍙e懆杈圭幆澧冩晱鎰熶俊鎭�', + code:'dischargeportaround', name:'鎺掓斁鍙e懆杈圭幆澧冩晱鎰熶俊鎭�', sname:'鎺掓斁鍙e懆杈圭幆澧�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'娉�', + code:'pump', name:'娉�', sname:'娉�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'娑蹭綅璁�', + code:'liquidlevelmeter', name:'娑蹭綅璁�', sname:'娑蹭綅璁�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'娴侀噺璁�', + code:'flowmeter', name:'娴侀噺璁�', sname:'娴侀噺璁�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'瑙嗛鐩戞帶閰嶇疆', + code:'video', name:'瑙嗛鐩戞帶閰嶇疆', sname:'瑙嗛鐩戞帶', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鍦ㄧ嚎鐩戞祴璁惧閰嶇疆', + code:'onlinemonitoring', name:'鍦ㄧ嚎鐩戞祴璁惧閰嶇疆', sname:'鍦ㄧ嚎鐩戞祴', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'鍙噧姘斾綋鎶ヨ璁惧閰嶇疆', + code:'combustiblegas', name:'鍙噧姘斾綋鎶ヨ璁惧閰嶇疆', sname:'鍙噧姘斾綋鎶ヨ', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'H2S娴撳害鎶ヨ璁惧閰嶇疆', + code:'hydrogensulfide', name:'H2S娴撳害鎶ヨ璁惧閰嶇疆', sname:'H2S娴撳害鎶ヨ', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'绠$嚎鐐�', + code:'controlpoint', name:'绠$嚎鐐�', sname:'绠$嚎鐐�', checked: true, // 榛樿閫変腑鐘舵�� geom: GEOM_POINT }, { - code:'绠℃', + code:'pipesegment', name:'绠℃', sname:'绠℃', checked: true, // 榛樿閫変腑鐘舵�� -- Gitblit v1.8.0