From 660021a28de9b84b4362c171fdbbf89587f0c5af Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 13 二月 2025 17:30:50 +0800 Subject: [PATCH] 1. 修改部分bug 2. 新增2D路线轨迹绘制 --- src/utils/map/marks.js | 83 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 76 insertions(+), 7 deletions(-) diff --git a/src/utils/map/marks.js b/src/utils/map/marks.js index 0d3c21d..03ebbc5 100644 --- a/src/utils/map/marks.js +++ b/src/utils/map/marks.js @@ -3,8 +3,6 @@ */ import { map } from './index_old'; -import sector from './sector'; -import { DialogUtil } from './dialog'; import { useToolboxStore } from '@/stores/toolbox'; const toolboxStore = useToolboxStore(); @@ -21,16 +19,13 @@ if (!toolboxStore.dataMarkerStatus) { return; } - if (_massMarks) { - map.remove(_massMarks); - _massMarks = undefined; - } + this.clearMassMarks(); const lnglats = fDatas.lnglats_GD; var data = []; for (let i = 0; i < lnglats.length; i++) { data.push({ lnglat: lnglats[i], //鐐规爣璁颁綅缃� - name: `${fDatas.times[i]}<br/>${_factor.factorName}: ${_factor.datas[i].factorData} mg/m鲁`, + name: `${fDatas.times[i]}<br/>${_factor.factorName}: ${_factor.datas[i].factorData} 渭g/m鲁`, id: i }); } @@ -76,5 +71,79 @@ }); _massMarks = massMarks; map.add(massMarks); + }, + clearMassMarks() { + if (_massMarks) { + map.remove(_massMarks); + _massMarks = undefined; + } + }, + + /** + * 鍒涘缓鏍囪鐐� + * @param {string | Array} img 鍥炬爣鎴栧浘鏍囨暟缁� + * @param {Array} dataList 鐩戞祴鏁版嵁 + * @param {boolean} collision 鏍囨敞閬胯 + * @returns + */ + createLabelMarks(img, dataList, collision = true) { + // eslint-disable-next-line no-undef + const layer = new AMap.LabelsLayer({ + zooms: [3, 20], + zIndex: 1000, + // 寮�鍚爣娉ㄩ伩璁╋紝榛樿涓哄紑鍚紝v1.4.15 鏂板灞炴�� + collision: collision, + // 寮�鍚爣娉ㄦ贰鍏ュ姩鐢伙紝榛樿涓哄紑鍚紝v1.4.15 鏂板灞炴�� + animation: true + }); + + map.add(layer); + + // var markers = []; + for (var i = 0; i < dataList.length; i++) { + const data = dataList[i]; + var curData = { + name: data.name, + position: [data.longitude, data.latitude], + zooms: [10, 20], + opacity: 1, + zIndex: 10, + icon: { + type: 'image', + image: typeof img === 'string' ? img : img[i], + // clipOrigin: [14, 92], + // clipSize: [50, 68], + size: [30, 30], + anchor: 'bottom-center', + angel: 0, + retina: true + }, + text: { + content: data.name, + direction: 'top', + offset: [0, -5], + style: { + fontSize: 16, + fontWeight: 'normal', + fillColor: '#fff', + strokeColor: '#333', + strokeWidth: 0, + backgroundColor: '#122b54a9' + } + } + }; + curData.extData = { + index: i + }; + + // eslint-disable-next-line no-undef + var labelMarker = new AMap.LabelMarker(curData); + + // markers.push(labelMarker); + + layer.add(labelMarker); + } + + return layer; } }; -- Gitblit v1.9.3