派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-05-06 392b411e0a19130ae9cb375c1fb8d2cbab5a4c14
src/components/LayerController/service/WmsLayerService.js
@@ -1,5 +1,6 @@
import AjaxUtils from '../../../utils/AjaxUtils'
import { PIPELINE_WMS } from '../../../conf/Constants'
import Popup from '@views/popup/Popup'
/**
 * todo 得考虑一个图层配置了多个 wmsLayers的情况
@@ -74,13 +75,13 @@
  }
  clickListener () {
    if (this.layers && this.layers.length > 0) {
      window.map.on('click', (e) => {
        this.featureGroup.clearLayers()
        var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom())
        var size = this.map.getSize()
        // const bbox = this.L.latLngBounds(this.L.latLng(e.latlng.lng, e.latlng.lat)).toBBoxString()
    window.map.on('click', (e) => {
      this.featureGroup.clearLayers()
      var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom())
      var size = this.map.getSize()
      // const bbox = this.L.latLngBounds(this.L.latLng(e.latlng.lng, e.latlng.lat)).toBBoxString()
      if (this.layers && this.layers.length > 0) {
        const params = Object.assign({
          LAYERS: this.layers.join(','),
          QUERY_LAYERS: this.layers.join(','),
@@ -93,13 +94,13 @@
        AjaxUtils.get4JsonDataByUrl(PIPELINE_WMS, params, (res) => {
          const features = res.data.features
          /**
         * {
         *     title: 'New Tab',
         *     name: newTabName,
         *     content: 'New Tab content'
         * }
         * @type {*[]}
         */
             * {
             *     title: 'New Tab',
             *     name: newTabName,
             *     content: 'New Tab content'
             * }
             * @type {*[]}
             */
          const popupDatas = []
          if (features) {
            for (var i = 0; i < features.length; i++) {
@@ -108,7 +109,7 @@
              this.highlight(feature)
              // const coordinates = feature.geometry.coordinates
              popupDatas.push({
                title: properties.wellname || properties.devicename || properties.name,
                title: properties.wellname || properties.devicename || properties.name || properties.pipename,
                name: feature.id,
                content: properties
              })
@@ -118,7 +119,7 @@
            var myIcon = this.L.divIcon({ className: 'my-div-icon' })
            this.L.marker(e.latlng, {
              icon: myIcon
            }).addTo(this.featureGroup)
            }).addTo(this.featureGroup)/*
              .bindPopup((layer) => {
                this.popupComp.setDatas(popupDatas)
                this.popupComp.setShow()
@@ -129,11 +130,22 @@
                closeButton: false,
                autoClose: false
              })
              .openPopup()
              .openPopup() */
            window.$layer.open({
              content: {
                content: Popup, // 组件
                data: { // 传递的参数
                  datas: popupDatas
                }
              },
              title: '' // 标题
            })
            // this.popupComp.setDatas(popupDatas)
            // this.popupComp.setShow()
          }
        })
      })
    }
      }
    })
  }
  reverse (feature) {
@@ -154,7 +166,7 @@
  highlight (feature) {
    const type = feature.geometry.type
    if (type === 'MultiLineString') {
      this.L.polyline(this.reverse(feature)).addTo(this.featureGroup)
      this.L.polyline(this.reverse(feature), { color: 'red' }).addTo(this.featureGroup)
    } else if (type === 'Point') {
      var myIcon = this.L.divIcon({ className: 'my-div-icon' })
      this.L.marker(feature.geometry.coordinates.reverse(), {