From 49003d0eeae335ba72a89e9c1156237cdd02ebd8 Mon Sep 17 00:00:00 2001 From: 陈泽平 <chenzeping> Date: 星期二, 18 五月 2021 15:42:44 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/conf/Constants.js | 214 +++++++++++++++++++++++++++-- src/components/panel/topicSearch/SewersSearch.vue | 7 src/components/helpers/MapManager.js | 44 +++-- src/components/helpers/LocateHelper.js | 131 ++++++++++++++---- src/utils/utils.js | 2 5 files changed, 321 insertions(+), 77 deletions(-) diff --git a/src/components/helpers/LocateHelper.js b/src/components/helpers/LocateHelper.js index 4160b89..6354244 100644 --- a/src/components/helpers/LocateHelper.js +++ b/src/components/helpers/LocateHelper.js @@ -1,6 +1,33 @@ import { pulseEffect, reversePolyLine } from '../../utils/utils' import Popup from '@views/popup/Popup' import { LAYERPROPS, LAYERS } from '../../conf/Constants' + +/** + * 鏁村悎瀹氫綅銆侀珮浜�佸脊绐� + * @param feature geojson + * @param config 鍥惧眰鐨刢onfig + */ +export const locate = function (feature, config, filter) { + fitBounds(feature) + highlight(feature, config) + setTimeout(() => { + const centerPoint = getCenterPoint(feature) + const params = { LAYERS: config.layerGroup || config.typeName, QUERY_LAYERS: config.layerGroup || config.typeName } + const filters = [] + if (config.filter) { + filters[filters.length] = config.filter + } + if (filter) { + filters[filters.length] = filter + } + if (filters.length > 0) { + params.CQL_FILTER = filters.join(' AND ') + } + window.mapManager.loadWfsDatas(centerPoint, params).then((res) => { + openPropsPopup(centerPoint, res.features) + }) + }, 1000) +} /** * 鏍规嵁浼犵殑 feature瀵硅薄瀹氫綅锛� * @param code @@ -23,45 +50,55 @@ } } -export const highlight = function (feature, config) { - const L = window.L - const type = feature.geometry.type - window.mapManager.clearHighlight() - const highlightLayer = window.mapManager.hightlightLayer - if (type === 'MultiLineString') { - L.geoJSON(feature, { - style: function () { - return { - fillColor: 'red', - color: 'red' - } - } - }).addTo(highlightLayer) - } else if (type === 'Point') { - // 鍙犲姞涓�涓ぇ灏哄鐨勫浘鏍� - let point = feature.geometry.coordinates - point = [point[1], point[0]] - - if (config) { - L.marker(point, { - icon: L.icon({ - iconUrl: '/assets/images/map/' + config.icon, - iconSize: [30, 30], - iconAnchor: [15, 15] - }) - }).addTo(highlightLayer) +export const highlight = function (feature, icon) { + if (Array.isArray(feature)) { + for (let i = 0; i < feature.length; i++) { + highlight(feature[i], icon) } - pulseEffect(point) - const features = window.mapManager.loadWfsDatas(point) - openPopup(point, features) - } else if (type === 'LineString') { - L.polyline(reversePolyLine(feature), { color: 'red' }).addTo(highlightLayer) + } else { + const L = window.L + const type = feature.geometry.type + window.mapManager.clearHighlight() + const highlightLayer = window.mapManager.hightlightLayer + if (type === 'MultiLineString') { + L.geoJSON(feature, { + style: function () { + return { + fillColor: 'red', + color: 'red' + } + } + }).addTo(highlightLayer) + } else if (type === 'Point') { + // 鍙犲姞涓�涓ぇ灏哄鐨勫浘鏍� + let point = feature.geometry.coordinates + point = [point[1], point[0]] + + if (icon) { + L.marker(point, { + icon: L.icon({ + iconUrl: '/assets/images/map/' + icon, + iconSize: [30, 30], + iconAnchor: [15, 15] + }) + }).addTo(highlightLayer) + } + pulseEffect(point) + } else if (type === 'LineString') { + L.polyline(reversePolyLine(feature), { color: 'red' }).addTo(highlightLayer) + } } } -export const openPopup = function (xy, features) { +/** + * 寮瑰嚭灞炴�у垪琛ㄥ睍绀虹獥鍙� + * @param xy 寮瑰嚭绐楀彛璺熼殢瑕佺礌鐨勭粡绾害 + * @param layer 鏌ヨ鎸囧畾鐨勫浘灞傘�備笉鎸囧畾鏃讹紝榛樿涓哄嬀閫夌殑鍥惧眰 + */ +export const openPropsPopup = function (xy, features) { const lt = window.map.latLngToContainerPoint(xy) const datas = popupDatas(features) + console.log(datas) if (datas.length > 0) { window.$layer.open({ content: { @@ -77,6 +114,31 @@ } } +export const getCenterPoint = function (feature) { + const type = feature.geometry.type + var point = [] + switch (type) { + case 'Point': + point = feature.geometry.coordinates + break + case 'MultiLineString': + var coordinates = feature.geometry.coordinates + var coordinate = coordinates[parseInt(coordinates.length / 2)][0] + if (coordinate.length > 2) { + point = [coordinate[0], coordinate[1]] + } + break + case 'LineString': + var lineString = feature.geometry.coordinates + point = lineString[parseInt(lineString.length / 2)][0] + break + } + if (point.length > 2) { + point.splice(2, 1) + } + return point.reverse() +} + const popupDatas = function (features) { const datas = [] if (features) { @@ -88,6 +150,9 @@ const propValues = LAYERPROPS[ids[0]] const contents = {} + if (!propValues) { + continue + } for (const k in properties) { if (propValues[k]) { contents[propValues[k]] = properties[k] diff --git a/src/components/helpers/MapManager.js b/src/components/helpers/MapManager.js index 9795d33..8399486 100644 --- a/src/components/helpers/MapManager.js +++ b/src/components/helpers/MapManager.js @@ -1,6 +1,6 @@ import AjaxUtils from '../../utils/AjaxUtils' import { WMS_URL } from '../../conf/Constants' -import { openPopup } from './LocateHelper' +import { highlight, openPropsPopup } from './LocateHelper' class MapManager { constructor () { @@ -27,27 +27,33 @@ this.map.on('click', (e) => { // console.log(e) this.clearHighlight() - this.loadWfsDatas(e.latlng) + this.loadWfsDatas(e.latlng).then((res) => { + console.log(res) + highlight(res.features) + openPropsPopup(e.latlng, res.features) + }) }) } - loadWfsDatas (latlng) { - const size = this.map.getSize() - var point = this.map.latLngToContainerPoint(latlng, this.map.getZoom()) - const wmsLayerService = window.layerFactory.wmsLayerService - const layers = wmsLayerService.wmsLayerList.getLayers() - // const filters = wmsLayerService.wmsLayerList.getFilters() - const params = Object.assign({ - LAYERS: layers, - QUERY_LAYERS: layers, - WIDTH: size.x, - HEIGHT: size.y, - X: Math.round(point.x), - Y: Math.round(point.y), - BBOX: this.map.getBounds().toBBoxString() - }, this.defaultWmsParams) - AjaxUtils.get4JsonDataByUrl(WMS_URL, params, (res) => { - openPopup(latlng, res.data.features) + loadWfsDatas (latlng, params) { + return new Promise((resolve, reject) => { + const size = this.map.getSize() + var point = this.map.latLngToContainerPoint(latlng, this.map.getZoom()) + const wmsLayerService = window.layerFactory.wmsLayerService + const layers = wmsLayerService.wmsLayerList.getLayers() + // const filters = wmsLayerService.wmsLayerList.getFilters() + const wmsParams = Object.assign({ + LAYERS: layers, + QUERY_LAYERS: layers, + WIDTH: size.x, + HEIGHT: size.y, + X: Math.round(point.x), + Y: Math.round(point.y), + BBOX: this.map.getBounds().toBBoxString() + }, this.defaultWmsParams, params) + AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => { + resolve(res.data) + }) }) } diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue index 8c40d1c..db65213 100644 --- a/src/components/panel/topicSearch/SewersSearch.vue +++ b/src/components/panel/topicSearch/SewersSearch.vue @@ -86,7 +86,7 @@ // 寮曞叆缁勪欢鍐呭 import SewersAnalysis from '@components/panel/topicSearch/SewersSelect/SewersAnalysis' import SewersHistory from '@components/panel/topicSearch/SewersSelect/SewersHistory' -import { fitBounds, highlight } from '../../helpers/LocateHelper' +import { fitBounds, highlight, locate } from '../../helpers/LocateHelper' export default { name: 'SewersSearch', @@ -165,12 +165,11 @@ } }, handleLocation (val, index) { - console.log(this.form.dataType) // console.log(val) this.activeNum = index // layer && layer.openPopup() - fitBounds(val, this.form.dataType.code) - highlight(val, this.form.dataType) + const config = this.form.dataType + locate(val, config) }, btnAffiliatedFacilities (val, index) { this.activeNum = index diff --git a/src/conf/Constants.js b/src/conf/Constants.js index 0935f69..2b89144 100644 --- a/src/conf/Constants.js +++ b/src/conf/Constants.js @@ -40,14 +40,14 @@ pipeline: '绠$嚎', manhole: '绐ㄤ簳', valve: '闃�闂�', - pipegallery: '绠″粖锛堝甫锛�', - piperack: '绠℃灦锛堝ⅸ锛�', + pipegallery: '绠″粖(甯�)', + piperack: '绠℃灦(澧�)', tee: '涓夐��', fourlink: '鍥涢��', elbow: '寮ご', raingate: '闆ㄧ瀛�', firedike: '闃茬伀鍫�', - collectingbasin: '闆嗘按姹狅紙缃愶級', + collectingbasin: '闆嗘按姹�(缃�)', dischargeport: '鎺掓斁鍙�', overflowweir: '婧㈡祦鍫�', oilseparator: '闅旀补姹�', @@ -64,18 +64,18 @@ pipenetwork: { // 绠$綉 name: '鍚嶇О', - LINENUMTYPE: '绠$嚎绫诲瀷', - PIPENAME: '绠$嚎鍚嶇О', - MEDIUMTYPE: '杈撻�佷粙璐�', - LENGTH: '闀垮害(m)', - STARTPOSNAME: '璧风偣浣嶇疆鍚嶇О', - ENDPOSNAME: '缁堢偣浣嶇疆鍚嶇О', - BURIEDTIME: '鍩嬭鏃堕棿', - COATINGMATERIAL: '闃茶厫鐘跺喌', - INSERVICETIME: '鎶曚骇鏃堕棿', - UNITNAME: '鎵�灞炲崟浣嶅悕绉�', - ORGNAME: '鎵�灞炰紒涓氬悕绉�', - OPERATIONALSTATUS: '杩愯鐘舵��' + linenumtype: '绠$嚎绫诲瀷', + pipename: '绠$嚎鍚嶇О', + mediumtype: '杈撻�佷粙璐�', + length: '闀垮害(m)', + startposname: '璧风偣浣嶇疆鍚嶇О', + endposname: '缁堢偣浣嶇疆鍚嶇О', + buriedtime: '鍩嬭鏃堕棿', + coatingmaterial: '闃茶厫鐘跺喌', + inservicetime: '鎶曚骇鏃堕棿', + unitname: '鎵�灞炲崟浣嶅悕绉�', + orgname: '鎵�灞炰紒涓氬悕绉�', + operationalstatus: '杩愯鐘舵��' }, // 绠$嚎 pipeline: { @@ -96,74 +96,191 @@ }, // 绐ㄤ簳 manhole: { + wellid: '浜曠紪鍙�', + wellname: '浜曞悕绉�', type: '绫诲瀷', wellmaterial: '浜曠洊鏉愯川', + spesize: '浜曠洊鐩村緞(mm)', + welldeepth: '绐ㄤ簳娣卞害(m)', + wellneckheight: '浜曡剸楂樺害(cm)', havesafetynet: '鏄惁鏈夊畨鍏ㄧ綉', datasource: '鏁版嵁鏉ユ簮', operationalstatus: '杩愯鐘舵��' }, // 闃�闂� valve: { + pointnumber: '娴嬬偣缂栧彿', + devicecode: '闃�闂ㄧ紪鐮�', + devicename: '闃�闂ㄥ悕绉�', valvetype: '闃�闂ㄧ被鍨�', + manufmodel: '鍒堕�犲瀷鍙�', + assetmanufact: '璧勪骇鍒堕�犲晢', + startdate: '鎶曠敤鏃ユ湡', + factorytime: '鍑哄巶鏃堕棿', + nominaldiamet: '鍏О鐩村緞(mm)', + nominalpress: '鍏О鍘嬪姏(MPa)', + operatingtype: '鎺у埗鏂瑰紡', executagencyf: '鎵ц鏈烘瀯褰㈠紡', - datasource: '鏁版嵁鏉ユ簮', + valveplatem: '闃�鏉�(鑺�)鏉愯川', + installunit: '瀹夎鍗曚綅', + sealform: '瀵嗗皝褰㈠紡', + constprange: '瀹氬帇鑼冨洿(MPa)', + valvebodytype: '闃�浣撳舰寮�', + spoolform: '闃�鑺舰寮�', + nominald: '鍏О閫氬緞(mm)', + leakaglevel: '娉勬紡绛夌骇(绾�)', + circulcap: '娴侀�氳兘鍔�(m3/h)', + workpress: '宸ヤ綔鍘嬪姏(MPa)', + worktemp: '宸ヤ綔娓╁害(鈩�)', + flowcharact: '娴侀噺鐗规��', + spooldiamet: '闃�鑺洿寰�(mm)', + valvegroupname: '鎵�灞為榾缁�', + valvegroupcode: '闃�缁勭紪鍙�', operationalstatus: '杩愯鐘舵��' }, // 绠″粖锛堝甫锛� pipegallery: { + pipecorridname: '绠″粖(甯�)鍚嶇О', + pipecorridcode: '绠″粖(甯�)缂栫爜', + pipename: '鎵�灞炵绾垮悕绉�', + pipecorridsname: '璧风偣绠″粖(甯�)鍚嶇О', + pipecorridename: '缁堢偣绠″粖(甯�)鍚嶇О', datasource: '鏁版嵁鏉ユ簮', operationalstatus: '杩愯鐘舵��' }, // 绠℃灦锛堝ⅸ锛� piperack: { + piperackcode: '绠℃灦(澧�)缂栫爜', + piperackname: '绠℃灦(澧�)鍚嶇О', + pipename: '鎵�灞炵绾垮悕绉�', piperacktype: '绫诲瀷', - piperackst: '绠℃灦(澧╋級缁撴瀯绫诲瀷', + piperackst: '绠℃灦(澧�)缁撴瀯绫诲瀷', longitudinalpiperack: '鏄惁鏈夌旱鍚戞灦', datasource: '鏁版嵁鏉ユ簮', operationalstatus: '杩愯鐘舵��' }, // 涓夐�� tee: { - teetype: '涓夐�氱被鍨�', + code: '涓夐�氱紪鐮�', + branchdiamet: '鏀嚎鐩村緞(mm)', + branchthickness: '鏀嚎澹佸帤(mm)', + exportdiamet: '鍑哄彛鐩村緞(mm)', + exportthickness: '鍑哄彛澹佸帤(mm)', exportconnectm: '鍑哄彛杩炴帴鏂瑰紡', entrycontype: '鍏ュ彛杩炴帴鏂瑰紡', + entrdiamet: '鍏ュ彛鐩村緞', + entrthick: '鍏ュ彛澹佸帤', teem: '涓夐�氭潗鏂�', + puttingindate: '鎶曠敤鏃ユ湡', + manufactdate: '鐢熶骇鏃ユ湡', + pressuregrade: '鍘嬪姏绛夌骇(mpa)', + constructunit: '鏂藉伐鍗曚綅', + supervisionunit: '鐩戠悊鍗曚綅', + detectunit: '妫�娴嬪崟浣�', + manufacturer: '鐢熶骇鍘傚晢', branchconntype: '鏀杩炴帴绫诲瀷', + installdate: '瀹夎鏃ユ湡', + strengthgrade: '寮哄害绛夌骇', operationalstatus: '杩愯鐘舵��' + }, // 鍥涢�� fourlink: { + code: '鍥涢�氱紪鐮�', fourtype: '鍥涢�氱被鍨�', - exportcontype: '鍑哄彛杩炴帴鏂瑰紡', entrycontype: '鍏ュ彛杩炴帴鏂瑰紡', + entrydiamet: '鍏ュ彛鐩村緞(mm)', + entrythick: '鍏ュ彛澹佸帤(mm)', + branchdiamet1: '鏀嚎1鐩村緞(mm)', + branchthickness1: '鏀嚎1澹佸帤(mm)', + branchdiamet2: '鏀嚎2鐩村緞(mm)', + branchthickness2: '鏀嚎2澹佸帤(mm)', + exportdiamet: '鍑哄彛鐩村緞(mm)', + exportthickness: '鍑哄彛澹佸帤(mm)', + exportcontype: '鍑哄彛杩炴帴鏂瑰紡', fourm: '鍥涢�氭潗鏂�', + appdate: '鎶曠敤鏃ユ湡', + manufactdate: '鐢熶骇鏃ユ湡', + pressuregrade: '鍘嬪姏绛夌骇(mpa)', + constructunit: '鏂藉伐鍗曚綅', + supervisionunit: '鐩戠悊鍗曚綅', + detectunit: '妫�娴嬪崟浣�', + manufacturer: '鐢熶骇鍘傚晢', branchconntype1: '鏀嚎1杩炴帴鏂瑰紡', branchconntype2: '鏀嚎2杩炴帴鏂瑰紡', + installdate: '瀹夎鏃ユ湡', operationalstatus: '杩愯鐘舵��' }, // 寮ご elbow: { + pointnumber: '娴嬬偣缂栧彿', + code: '寮ご缂栫爜', + pipename: '鎵�灞炵绾垮悕绉�', + pipecode: '鎵�灞炵绾跨紪鐮�', + bendangle: '寮ご瑙掑害', elbowtype: '寮ご绫诲瀷', elbowmaterial: '寮ご鏉愭枡', anticorros: '闃茶厫鏉愭枡', entryconntype: '鍏ュ彛杩炴帴鏂瑰紡', outletconntype: '鍑哄彛杩炴帴鏂瑰紡', + entrdiameter: '鍏ュ彛鐩村緞(mm)', + entrwallthick: '鍏ュ彛澹佸帤(mm)', + exitdiameter: '鍑哄彛鐩村緞(mm)', + exitwallthick: '鍑哄彛澹佸帤(mm)', + classes: '鍘嬪姏绛夌骇(mpa)', + unitname: '鎵�灞炲崟浣嶅悕绉�', + unitcode: '鎵�灞炲崟浣嶄唬鐮�', + productdate: '鐢熶骇鏃ユ湡', + installationdate: '瀹夎鏃ユ湡', + puttingindate: '鎶曠敤鏃ユ湡', + constructunit: '鏂藉伐鍗曚綅', + supervisionunit: '鐩戠悊鍗曚綅', + detectionunit: '妫�娴嬪崟浣�', + elbowcurvrad: '鏇茬巼鍗婂緞(d)', + manufacturer: '鐢熶骇鍘傚晢', + bendlength: '寮ご闀垮害', + benddirection: '寮ご鏂瑰悜', + pipewalldiameter: '绠¢亾澶栧鐩村緞(mm)', + strengthgrade: '寮哄害绛夌骇', + curvelength: '鏇茬嚎闀�', + tangentlength: '鍒囩嚎闀�', + vectordistance: '澶栫煝璺�', + mintemperature: '鏈�浣庤璁℃俯搴�', + maxtemperature: '鏈�楂樿璁℃俯搴�', operationalstatus: '杩愯鐘舵��' }, // 闆ㄧ瀛� raingate: { + raingrateid: '闆ㄧ瀛愮紪鍙�', + rgshape: '闆ㄧ瀛愬舰鐘�', + rgmaterial: '闆ㄧ瀛愭潗璐�', + spesize: '闆ㄧ瀛愬昂瀵�(cm)', + rgdeepth: '闆ㄧ瀛愬帤搴�(mm)', operationalstatus: '杩愯鐘舵��' }, // 闃茬伀鍫� firedike: { + name: '鍚嶇О', + code: '缂栫爜', + ownertanks: '鎵�灞炵綈鍖�', + tankscode: '缃愬尯缂栧彿', operationalstatus: '杩愯鐘舵��' }, // 闆嗘按姹狅紙缃愶級 collectingbasin: { + companyname: '鍚嶇О', + code: '缂栫爜', + mediumtype: '浠嬭川', + size: '灏哄', + volume: '瀹圭Н', + ownersite: '鎵�灞炵珯鍦�', + startdate: '鎶曠敤鏃ユ湡', operationalstatus: '杩愯鐘舵��' }, // 鎺掓斁鍙� dischargeport: { + name: '鍚嶇О', + code: '缂栫爜', mediumtype: '浠嬭川', pfktype: '鎺掓斁鍙g被鍨�', level: '绾у埆', @@ -173,41 +290,98 @@ // 婧㈡祦鍫� overflowweir: { + name: '鍚嶇О', + code: '缂栫爜', mediumtype: '闃叉孩浠嬭川', + material: '鏉愯川', + height: '楂�(m)', + length: '闀垮害(m)', operationalstatus: '杩愯鐘舵��' }, // 闅旀补姹� oilseparator: { + poolname: '鍚嶇О', + no: '缂栫爜', + size: '灏哄', + volume: '瀹圭Н', operationalstatus: '杩愯鐘舵��' }, // 姘翠綋 pointhydrology: { + name: '鍚嶇О', + telphonenumber: '鑱旂郴鏂瑰紡', + velocityaverage: '骞村钩鍧囨祦閫�(m/s)', + erosiondepthavg: '骞村钩鍧囧啿鍒锋繁搴�', + velocitymax: '鏈�澶ч�熷害(m/s)', + velocitymin: '鏈�灏忛�熷害(m/s)', + highestwaterlevel: '鏈�楂樻按浣嶏紙m锛�', + minwaterlevel: '鏈�浣庢按浣嶏紙m锛�', + maximumflux: '鏈�澶ф祦閲�', + erosiondepthmax: '鏈�澶у啿鍒锋繁搴�', + flowdirection: '娌虫祦娴佸悜', + length: '闀垮害锛坢锛�', hydrotype: '姘寸郴绫诲瀷', drinkingresourceind: '鏄惁鏄ギ鐢ㄦ按婧�', seasonalriverind: '鏄惁鏄鑺傛�ф渤娴�', + highriskmonth: '楂橀闄╂湀浠�', reservoirlocation: '姘村簱浣嶇疆', + coverdepth: '绠¢亾鍩嬫繁', + gbcode: '鍥芥爣鐮�', operationalstatus: '杩愯鐘舵��' }, // 鑷劧淇濇姢鍖� pointpreservationzone: { - datasource: '鏁版嵁鏉ユ簮' + name: '鍚嶇О', + datasource: '鏁版嵁鏉ユ簮', + type: '淇濇姢鍖虹被鍨�', + structureoridsitearea: '鍗犲湴闈㈢Н', + preservationobject: '涓昏淇濇姢瀵硅薄', + adminzonename: '琛屾斂闅跺睘' }, // 鍖婚櫌 hospital: { + companyname: '鍖婚櫌鍚嶇О', + telephone: '鑱旂郴鐢佃瘽', hospitalleaval: '鍖婚櫌璧勮川绛夌骇', + maxinjurednumber: '鍙绾充激鍛�', + sickbednumber: '鐥呭簥鏁伴噺', + doctornumber: '鍖荤敓鏁伴噺', + nursenumber: '鎶ゅ+鏁伴噺', + ambulancenumber: '鏁戞姢杞︽暟閲�', subtypecd: '鍖婚櫌绫诲瀷', + address: '鍗曚綅鍦板潃', + hyperbaricoxygencabin: '楂樺帇姘ц埍', + distance: '璺濈', datasource: '鏁版嵁鏉ユ簮' }, // 绀句細涓撲笟搴旀�ユ晳鎻撮槦浼� emergencyres: { + name: '鍚嶇О', + numberteam: '鏁戞彺浜烘暟', + rescueobject: '涓昏鏁戞彺瀵硅薄', + resperson: '璐熻矗浜�', + telephone: '鑱旂郴鐢佃瘽', datasource: '鏁版嵁鏉ユ簮' }, // 搴旀�ョ墿璧� emergencyesources: { + resourcesname: '鐗╄祫鍚嶇О', + resourcesnumber: '鐗╄祫鏁伴噺', + ownedstatus: '鏄惁鑷湁鐗╄祫', + sourceschargestandard: '鐗╄祫鏀惰垂鏍囧噯', + resperson: '璐熻矗浜�', + telephone: '鑱旂郴鐢佃瘽', datasource: '鏁版嵁鏉ユ簮' }, // 娑堥槻鍗曚綅 firefightingunit: { + companyname: '娑堥槻鍗曚綅鍚嶇О', + pumpernumber: '娑堥槻杞︽暟閲�', + contacttelephone: '鑱旂郴鐢佃瘽', + address: '鍗曚綅鍦板潃', + supportradius: '鏈嶅姟鍗婂緞', + ficroute: '浜ら�氳矾绾�', + distance: '璺濈', datasource: '鏁版嵁鏉ユ簮' } } diff --git a/src/utils/utils.js b/src/utils/utils.js index 304c202..31e0afa 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -27,7 +27,7 @@ * 鑴夊啿鏁堟灉 */ export function pulseEffect (xy) { - let times = 50 + let times = 1000 const colors = ['#00f100', '#ff0000'] // 鎻掍欢 鏁堟灉瀹炵幇 var pulsingIcon = window.L.icon.pulse({ -- Gitblit v1.8.0