From 4fe43d51c3f7a3923986b23ccf5c27ab83e6e5e5 Mon Sep 17 00:00:00 2001
From: yangyin <1850366751@qq.com>
Date: 星期五, 08 十一月 2024 16:34:18 +0800
Subject: [PATCH] 修改新建聊天室为新建对话

---
 src/model/map/GaoDeMap.ts |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/src/model/map/GaoDeMap.ts b/src/model/map/GaoDeMap.ts
index 47ee26b..695b6c7 100644
--- a/src/model/map/GaoDeMap.ts
+++ b/src/model/map/GaoDeMap.ts
@@ -7,7 +7,7 @@
 	version?: string;
 	plugins?: string[];
 	container: string | HTMLDivElement;
-	aMapOption?: Partial<AMap.MapOptions>;
+	aMapOption?: Partial<AMap.MapOptions> & Record<string, any>;
 };
 
 export type GaoDeMarkerOption = {
@@ -15,6 +15,7 @@
 		url: string;
 		size: number;
 	};
+	click?: (e: any, labelMarker: AMap.LabelMarker) => void;
 };
 export type LabelMarkerData = {
 	position: GaoDePosition;
@@ -59,11 +60,22 @@
 				plugins: gaoDeOption.plugins,
 			});
 			this.map = new AMap.Map(gaoDeOption.container, gaoDeOption.aMapOption);
+			this.setStyle();
 		} catch (error) {
 			// console.error(error);
 		}
 	}
 	constructor() {}
+
+	private setStyle() {
+		const container = this.map.getContainer() as any;
+		/**
+		 * 闅愯棌楂樺痉鐩稿叧鏍囧織
+		 */
+		container.querySelector('.amap-logo').style.opacity = 0;
+		container.querySelector('.amap-copyright').style.opacity = 0;
+
+	}
 
 	zoomToRect(southWest: GaoDePosition, northEast: GaoDePosition) {
 		if (!this.viewBound) {
@@ -92,10 +104,9 @@
 		} as MarkerLayerOption) as MarkerLayerOption;
 
 		const layer = new AMap.LabelsLayer(markerLayerOption.layerOpt);
-		let convertData = (dataList ?? []).map<AMap.LabelMarkerOptions>((item) => {
-			const {
-				markerOpt: { icon },
-			} = markerLayerOption;
+		const { markerOpt } = markerLayerOption;
+		const convertData = (dataList ?? []).map<AMap.LabelMarkerOptions>((item) => {
+			const { icon } = markerOpt;
 			return {
 				// name: '鑷彁鐐�9',
 				position: item.position,
@@ -128,7 +139,14 @@
 				extData: item.extData,
 			};
 		});
-		const markerList = convertData.map((item) => new AMap.LabelMarker(item));
+		const markerList = convertData.map((item) => {
+			const label = new AMap.LabelMarker(item);
+			if (markerOpt.click) {
+				label.on('click', (e) => markerOpt.click(e, label));
+			}
+			return label;
+		});
+
 		layer.add(markerList);
 		this.map.add(layer);
 	}

--
Gitblit v1.9.3