From a312e0dd96d8f7e96fb3341f1a55561b12394405 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期日, 30 五月 2021 12:29:48 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/LayerController/logic/RiskSource.js | 98 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 98 insertions(+), 0 deletions(-) diff --git a/src/components/LayerController/logic/RiskSource.js b/src/components/LayerController/logic/RiskSource.js new file mode 100644 index 0000000..6384554 --- /dev/null +++ b/src/components/LayerController/logic/RiskSource.js @@ -0,0 +1,98 @@ +/** + * 鐜椋庨櫓婧� + */ +// 淇℃伅缁勪欢 +const RiskSourceIndex = require('../../base-page/RiskSource/RiskSourceIndex.vue').default +const riskRed = '/assets/images/map/environmentRisk/risk_red.png' +const riskSandybrown = '/assets/images/map/environmentRisk/risk_sandybrown.png' +const riskYellow = '/assets/images/map/environmentRisk/risk_yellow.png' +const riskGreen = '/assets/images/map/environmentRisk/risk_green.png' +// 鍏叡鏂规硶 panTo() 寮曠敤 +const { setPanTo } = require('../../../utils/utils') +// 璇锋眰鎺ュ彛鏁版嵁 +const mapApi = require('../../../api/mapApi').default +// 浣跨敤灏佽鏂规硶 +const AnimalService = require('../service/AnimalService').default + +module.exports = function () { + /** + * 鍒濆鍖栧苟鍔犺浇鍥惧眰 + * @param L leaflet瀵硅薄 + */ + this.init = async (layer, L, config) => { + this.animalService = new AnimalService({ + L: L, + layer: layer + }) + const result = await mapApi.getEnvironmentRiskPoint() // 鏁版嵁 + const data = result[config.level] // 姝ゅ绾у埆瀵瑰簲data鏁扮粍涓嬫爣锛屼綔涓哄弬鏁板彇鏁版爣璇� + for (let i = 0; i < data.length; i++) { + const postion = [data[i].Latitude, data[i].Longitude] // 鍧愭爣 + const iconUrl = this.riskIconUrl(data[i].riskLevel) // 椋庨櫓婧愬浘鏍� + const marker = L.marker(postion, { + totransferData: data[i], + icon: L.icon({ + iconUrl: iconUrl, + iconSize: [20, 20], + iconAnchor: [10, 10] + }) + }) + layer.addLayer(marker) + } + } + + /** + * 鎻愮ず绐� + * @param layer + * @returns {string} + */ + this.bindTooltip = (layer) => { + return layer.options.totransferData.riskname + } + + /** + * 淇℃伅寮圭獥 + * @param e + */ + this.clickListener = (e) => { + // 鑴夊啿鏁堟灉 + this.animalService.pulseEffect(e.latlng) + // 淇℃伅寮圭獥骞崇Щ + setPanTo(e.latlng, 200) + // 寮规鏍囬 + const title = e.layer.options.totransferData.Name + window.$layer.open({ + content: { + comp: RiskSourceIndex, // 缁勪欢 + parent: this, // 鐖剁粍浠� + data: { // 浼犻�掔殑鍙傛暟 + riskSourceId: e.layer.options.totransferData.no + } + }, + title: title // 鏍囬 + }) + } + + // 鍥炬爣閰嶇疆 + this.riskIconUrl = (t) => { + let iconUrl = null + switch (t) { + case 1: + iconUrl = riskRed + break + case 2: + iconUrl = riskSandybrown + break + case 3: + iconUrl = riskYellow + break + case 4: + iconUrl = riskGreen + break + default: + iconUrl = riskGreen + break + } + return iconUrl + } +} -- Gitblit v1.8.0