/** * 废气 */ const AnimalService = require('../service/AnimalService').default // const AjaxUtils = require('../../../utils/AjaxUtils').default // 区分不同类型 使用不同img const ImgBlue = '/assets/images/map/exhaust/fq_blue.png' const ImgGray = '/assets/images/map/exhaust/fq_gray.png' const ImagGreen = '/assets/images/map/exhaust/fq_green.png' const ImagBright = '/assets/images/map/exhaust/fq_bright_green.png' const mapApi = require('../../../api/mapApi').default const publicBounced = require('../../BaseNav/PublicBounced/PublicBounced').default module.exports = function () { /** * 返回marker对象数组 * @param L leaflet对象 */ this.init = async (layer, L) => { this.animalService = new AnimalService({ L: L, layer: layer }) const res = await mapApi.GetWasteGas() const data = res.Result.DataInfo || {} // console.log(data) for (let i = 0; i < data.length; i++) { // 经纬度 位置 const positionX = data[i].Latitude const positionY = data[i].Longitude // 定义类型 用来区分数据 const ContrLevel = data[i].ContrLevel var iconUrl = this.differentTypes(ContrLevel) const marker = L.marker.magic([positionX, positionY], { test: data[i], icon: L.icon({ iconUrl: iconUrl, iconSize: [50, 50], iconAnchor: [25, 25] }) }) layer.addLayer(marker) // layer.addLayer(L.marker([positionX, positionY], {})) } } this.bindTooltip = (layer) => { return layer.options.test.Name } this.clickListener = async (e) => { // console.log(e) this.animalService.pulseEffect(e.latlng) const dataValue = { StoragePlaceId: e.layer.options.test.StoragePlaceId } const result = await mapApi.GetWasteGas(dataValue) const PublicBounced = window.Vue.extend(publicBounced) const instance = new PublicBounced() instance.setData(result) instance.$mount() document.body.appendChild(instance.$el) } // 不同类型图片加载 this.differentTypes = (ContrLevel) => { var effectOfChange if (ContrLevel === 1) { effectOfChange = ImgBlue } else if (ContrLevel === 2) { effectOfChange = ImagGreen } else if (ContrLevel === 3) { effectOfChange = ImagBright } else { effectOfChange = ImgGray } return effectOfChange } }