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/utils/utils.js | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 120 insertions(+), 0 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 8ace9bb..31e0afa 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -22,3 +22,123 @@ // eslint-disable-next-line no-unreachable return url + '\n' + arg + '\n' + argValue } + +/** + * 鑴夊啿鏁堟灉 + */ +export function pulseEffect (xy) { + let times = 1000 + const colors = ['#00f100', '#ff0000'] + // 鎻掍欢 鏁堟灉瀹炵幇 + var pulsingIcon = window.L.icon.pulse({ + iconSize: [30, 30], + color: colors[0], + fillColor: '' + }) + var picGroupMarker = window.L.marker(xy, { icon: pulsingIcon }).addTo(window.mapManager.hightlightLayer) + // 瀹氭椂 + var timeInterval = setInterval(() => { + if (times > 0) { + times-- + } else { + clearInterval(timeInterval) + picGroupMarker.remove() + } + }, 1000) +} + +export function reversePolyLine (feature) { + const coordinates = feature.geometry.coordinates + var latlng = [] + for (var j = 0; j < coordinates.length; j++) { + const coordinate = coordinates[j] + latlng.push(coordinate.reverse()) + } + return latlng +} + +export function reverseMultiLine (feature) { + const coordinates = feature.geometry.coordinates + var latlng = [] + for (var j = 0; j < coordinates.length; j++) { + const coordinate = coordinates[j] + var xy = [] + for (var k = 0; k < coordinate.length; k++) { + const coor = coordinate[k] + xy.push(coor.reverse()) + } + latlng.push(xy) + } + return latlng +} + +/** + * 璁剧疆寮圭獥骞崇Щ浣嶇疆 + * @param pos + * @param value + */ +export function setPanTo (pos, value) { + var position = pos + position = window.map.latLngToLayerPoint(position) + position.y += value + position = window.map.layerPointToLatLng(position) + window.map.flyTo(position) +} + +/** + * 澶嶅埗瀵硅薄 + * @param obj + * @returns {{}} + */ +export function clone (obj) { + var o + // 濡傛灉 浠栨槸瀵硅薄object鐨勮瘽 , 鍥犱负null,object,array 涔熸槸'object'; + if (typeof obj === 'object') { + // 濡傛灉 浠栨槸绌虹殑璇� + if (obj === null) { + o = null + } else { + // 濡傛灉 浠栨槸鏁扮粍arr鐨勮瘽 + if (obj instanceof Array) { + o = [] + for (var i = 0, len = obj.length; i < len; i++) { + o.push(clone(obj[i])) + } + } else { + // 濡傛灉 浠栨槸瀵硅薄object鐨勮瘽 + o = {} + for (var j in obj) { + o[j] = clone(obj[j]) + } + } + } + } else { + o = obj + } + return o +} + +/** + * + * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈� + * @param layerGroup 鍥惧眰缁� + */ +export function setZIndex (layer) { + if (Array.isArray(layer)) { + for (var i = 0; i < layer.length; i++) { + setZIndex(layer[i]) + } + } else { + if (layer.getLayers) { + setZIndex(layer.getLayers()) + } else { + if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) { + layer.bringToBack && layer.bringToBack() + } else { + layer.bringToFront && layer.bringToFront() + } + } + } +} + +export default clone -- Gitblit v1.8.0