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