派生自 wuyushui/SewerAndRainNetwork

yangdelong
2021-05-28 3054bbce49457c82df9ad32523f3a0186e268d6f
src/utils/utils.js
@@ -24,6 +24,72 @@
}
/**
 * 脉冲效果
 */
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 = clone(feature.geometry.coordinates)
  var latlng = []
  for (var j = 0; j < coordinates.length; j++) {
    let coordinate = coordinates[j]
    coordinate = [coordinate[1], coordinate[0]]
    latlng.push(coordinate)
  }
  return latlng
}
export function reverseMultiLine (feature) {
  const coordinates = clone(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++) {
      let coor = coordinate[k]
      if (coor.length > 2) {
        coor = coor.splice(2, 1)
      }
      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 {{}}
@@ -79,4 +145,13 @@
  }
}
/**
 * 去掉两头空格
 * @param str
 * @returns {*}
 */
export function lrtrim (str) {
  return str.replace(/^\s+|\s+$/g, '')
}
export default clone