From 113529424720f87ceb2e4604a4d2e1019e0db4f8 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 29 四月 2024 13:58:40 +0800
Subject: [PATCH] 新增菜单按钮

---
 src/utils/map/toolbox.js |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/src/utils/map/toolbox.js b/src/utils/map/toolbox.js
index 0baffa5..ba75d5d 100644
--- a/src/utils/map/toolbox.js
+++ b/src/utils/map/toolbox.js
@@ -2,27 +2,77 @@
 import { map, satellite, controlbar } from './index_old';
 // import '@/lib/jquery-3.5.1.min';
 
+/**
+ * 鍧愭爣鎷惧彇榧犳爣鐐瑰嚮鍥炶皟浜嬩欢
+ */
+var _locationMarker, _locationText;
+function _coorPickListener(e) {
+  var text = `缁忓害: ${e.lnglat.getLng()}<br/>绾害: ${e.lnglat.getLat()}`;
+  if (_locationMarker == undefined) {
+    var textM = new AMap.Text({
+      style: {
+        'font-size': '12px'
+      },
+      text: text,
+      position: e.lnglat,
+      offset: new AMap.Pixel(0, 30)
+    });
+
+    var marker = new AMap.Marker({
+      position: e.lnglat
+      // icon: icon,
+      // anchor: 'top-center',
+      // content: '<i class="fa fa-map-marker fa-2x" style="color: #E6DB06;" aria-hidden="true"></i>'
+    });
+    map.add(marker);
+    map.add(textM);
+    _locationMarker = marker;
+    _locationText = textM;
+  } else {
+    _locationMarker.setPosition(e.lnglat);
+    _locationText.setPosition(e.lnglat);
+    _locationText.setText(text);
+  }
+}
+
 export default {
   /**
    * 寮�鍏冲湴鐗╂爣娉�
    * @param {boolean} value
    */
-  toggleFeatures: (value) => {
+  toggleFeatures(value) {
     value ? map.setFeatures(['bg', 'road', 'point', 'building']) : map.setFeatures(['bg', 'road']);
   },
 
   /**
    * 寮�鍏冲崼鏄熷湴鍥�
+   * @param {boolean} value
    */
-  toggleSatellite: (value) => {
+  toggleSatellite(value) {
     value ? satellite.show() : satellite.hide();
   },
 
   /**
    * 寮�鍏虫帶鍒剁綏鐩�
+   * @param {boolean} value
    */
-  toggleControlbar: (value) => {
+  toggleControlbar(value) {
     // value ? controlbar.show() : controlbar.hide();
     value ? $('.amap-controlbar').show() : $('.amap-controlbar').hide();
+  },
+
+  /**
+   * 寮�鍏冲潗鏍囨嬀鍙�
+   * @param {boolean} value
+   */
+  toggleCoorPicking(value) {
+    if (value) {
+      map.on('click', _coorPickListener);
+    } else {
+      map.off('click', _coorPickListener);
+      map.remove([_locationMarker, _locationText]);
+      _locationMarker = undefined;
+      _locationText = undefined;
+    }
   }
 };

--
Gitblit v1.9.3