From 4423935d0249d35161efa7f2a095fbfc4b2fd017 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期一, 17 五月 2021 17:15:31 +0800
Subject: [PATCH] 定位、弹窗

---
 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..304c202 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 = 50
+  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