派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-04-08 6f52267465d2ce8e08ae0fd61bbe7f69b366a2c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/**
 * 固废
 */
// 区分不同类型 使用不同img
const companyImg = '/assets/images/map/company_refining.png'
 
const mapApi = require('../../../api/mapApi').default
const AnimalService = require('../service/AnimalService').default
 
module.exports = function () {
  /**
   * 返回marker对象数组
   * @param L leaflet对象
   */
  this.init = async (layer, L) => {
    // const SolidWasteIcon = this.SolidWasteIcon()
    this.animalService = new AnimalService({
      L: L,
      layer: layer
    })
    const res = await mapApi.getCompany()
    // console.log(res)
    const data = res.Result.DataInfo || {}
    for (let i = 0; i < data.length; i++) {
      // console.log(data[i])
      // 经纬度 位置
      const positionX = data[i].Latitude
      const positionY = data[i].Longitude
 
      var iconUrl = companyImg
      const marker = L.marker([positionX, positionY], {
        icon: L.icon({
          iconUrl: iconUrl,
          iconSize: [30, 30],
          iconAnchor: [15, 15]
        }),
        test: data[i]
      })
      const htmls = '<ul><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li><li>' + data[i].name + '</li></ul>'
      marker.bindTooltip(htmls, {
        permanent: true,
        offset: [0, 5],
        direction: 'bottom',
        className: 'company-bindTooltip'
      }).bindPopup('<div class="company-bindTooltip-hover"><h3>污染物产生统计</h3><ul>' +
          '<li>生产设施:30(个)</li>' +
          '<li>治理设施:30(个)</li>' +
          '</ul></div>')
        .on('mouseover', (e) => marker.openPopup())
        .on('mouseout', (e) => marker.closePopup())
      layer.addLayer(marker)
    }
 
    /*
      * 点位点击事件
      *
      * */
    this.clickListener = (e) => {
      // this.animalService.pulseEffect(e.latlng)
      const dataValue = {
        StoragePlaceId: e.layer.options.test.name
      }
      debugger
      console.log(dataValue)
      // return this.PublicBounced.$el
    }
  }
}