From db929db466201b100a5af70add4a8f6b46bb8b5d Mon Sep 17 00:00:00 2001 From: 陈泽平 <qibolin02429@126.com> Date: 星期一, 17 五月 2021 10:30:50 +0800 Subject: [PATCH] 企业图层展示控制 --- src/components/LayerController/logic/Company.js | 87 +++++++++++++++++++++++++++++++------------ 1 files changed, 62 insertions(+), 25 deletions(-) diff --git a/src/components/LayerController/logic/Company.js b/src/components/LayerController/logic/Company.js index a9a51c9..962ec96 100644 --- a/src/components/LayerController/logic/Company.js +++ b/src/components/LayerController/logic/Company.js @@ -1,19 +1,21 @@ /** - * 鍥哄簾 + * 浼佷笟 */ + // 鍖哄垎涓嶅悓绫诲瀷 浣跨敤涓嶅悓img -const companyImg = '/assets/images/map/company.png' +const companyImg = '/assets/images/map/company_refining.png' +const companyOil = '/assets/images/map/company_oil.png' const mapApi = require('../../../api/mapApi').default const AnimalService = require('../service/AnimalService').default module.exports = function () { /** - * 杩斿洖marker瀵硅薄鏁扮粍 - * @param L leaflet瀵硅薄 - */ + * 杩斿洖marker瀵硅薄鏁扮粍 + * @param L leaflet瀵硅薄 + */ + this.init = async (layer, L) => { - // const SolidWasteIcon = this.SolidWasteIcon() this.animalService = new AnimalService({ L: L, layer: layer @@ -26,35 +28,70 @@ // 缁忕含搴� 浣嶇疆 const positionX = data[i].Latitude const positionY = data[i].Longitude - var iconUrl = companyImg - const marker = L.marker.magic([positionX, positionY], { - icon: L.icon({ + if (data[i].type) { + if (data[i].type === 2) { + iconUrl = companyOil + } + } + const htmls = '<div><img src="' + iconUrl + '"><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></ul></div>' + var myIcon = L.divIcon({ + html: htmls, + className: 'company-bindTooltip', + iconSize: 16 + }) + + const marker = L.marker([positionX, positionY], { + /* icon: L.icon({ iconUrl: iconUrl, - iconSize: [50, 50], - iconAnchor: [25, 25] - }), + iconSize: [30, 30], + iconAnchor: [15, 15] + }), */ + icon: myIcon, test: data[i] }) - marker.bindTooltip(data[i].name, { + /* const htmls = '<ul><li>' + data[i].name + '</li></ul>' + marker.bindTooltip(htmls, { permanent: true, - offset: [0, -16], - direction: 'top', - className: '' - }) - - layer.addLayer(marker) + offset: [0, 5], + direction: 'bottom', + className: 'company-bindTooltip' + }) */ + // layer.addLayer(marker) + if (window.map.getZoom() <= 5) { + layer.addLayer(marker) + } else if (window.map.getZoom() >= 12) { + layer.removeLayer() + } } } - + /* + * 鐐逛綅榧犳爣绉诲叆寮规 + * */ this.bindTooltip = (layer) => { - // console.log(layer) - // return layer.options.test.name + // console.log(layer) + return '<div class="company-bindTooltip-hover"><h3>姹℃煋鐗╀骇鐢熺粺璁�</h3><ul>' + + '<li>鐢熶骇璁炬柦锛�30锛堜釜锛�</li>' + + '<li>娌荤悊璁炬柦锛�30锛堜釜锛�</li>' + + '</ul></div>'// layer.options.test.name } - + /* + * 鐐逛綅鐐瑰嚮浜嬩欢 + * + * */ this.clickListener = (e) => { - // this.animalService.pulseEffect(e.latlng) console.log(e) - // return this.PublicBounced.$el + window.map.setView(e.latlng, 13) + if (window.map.getZoom() >= 12) { + e.layer.remove() + } + // if (window.map.getZoom() <= 5) { + // e.layer.addLayer() + // } else if (window.map.getZoom() >= 12) { + // e.layer.removeLayer() + // } + // const dataValue = { + // StoragePlaceId: e.layer.options.test.name + // } } } -- Gitblit v1.8.0