/**
|
* 废气
|
*/
|
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_new.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()
|
// console.log(res)
|
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.canvasMarker([positionX, positionY], {
|
// img: {
|
// // url: 'assets/images/map/marker-icon.png',
|
// url: iconUrl,
|
// size: STYLES.ICON_SIZE
|
// }
|
const marker = L.marker([positionX, positionY], {
|
test: data[i],
|
icon: L.icon({
|
iconUrl: iconUrl,
|
iconSize: [20, 35],
|
iconAnchor: [10, 20]
|
})
|
})
|
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.getWasteGasDetails(dataValue)
|
// console.log(result.Result.DataInfo)
|
const PublicBounced = window.Vue.extend(publicBounced)
|
const instance = new PublicBounced()
|
instance.setGasData(e.layer.options.test, result.Result.DataInfo, 'feiqi')
|
// console.log(e.layer.options.test)
|
instance.$mount()
|
document.body.appendChild(instance.$el)
|
this.setPanTo(e.latlng, 240)
|
}
|
// 不同类型图片加载
|
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
|
}
|
this.setPanTo = (pos, value) => {
|
var position = pos
|
position = window.map.latLngToLayerPoint(position)
|
position.y += value
|
position = window.map.layerPointToLatLng(position)
|
window.map.flyTo(position)
|
}
|
}
|