Bladeren bron

更新地图页面

reghao 2 jaren geleden
bovenliggende
commit
fefa02090b
5 gewijzigde bestanden met toevoegingen van 196 en 71 verwijderingen
  1. 72 31
      package-lock.json
  2. 19 18
      package.json
  3. 5 0
      src/api/map.js
  4. 3 0
      src/main.js
  5. 97 22
      src/views/home/BdMap.vue

+ 72 - 31
package-lock.json

@@ -1417,7 +1417,7 @@
         },
         "@liripeng/vue-audio-player": {
           "version": "1.5.0",
-          "resolved": "https://registry.npmjs.org/@liripeng/vue-audio-player/-/vue-audio-player-1.5.0.tgz",
+          "resolved": "https://registry.npmmirror.com/@liripeng/vue-audio-player/-/vue-audio-player-1.5.0.tgz",
           "integrity": "sha512-nt51tfMlzanb2LgiLD0nMQWGjoN1iCf2CBQPlnJvpn5SySBBDoCzNxqBPKaLGfNmFsi+yrd84cC3ZY0D/qMICg==",
           "requires": {
             "@any-touch/core": "^2.0.2",
@@ -1428,7 +1428,7 @@
           "dependencies": {
             "@liripeng/vue-audio-player": {
               "version": "1.4.1-beta1",
-              "resolved": "https://registry.npmjs.org/@liripeng/vue-audio-player/-/vue-audio-player-1.4.1-beta1.tgz",
+              "resolved": "https://registry.npmmirror.com/@liripeng/vue-audio-player/-/vue-audio-player-1.4.1-beta1.tgz",
               "integrity": "sha512-Y4aUFJk9LfdWueFkqDC2Juk17gul35L6hEtoSWyWExNVY9XJflyBsXFe6EHTaVaHLq9Ij7oKSs29JrMmnxvNcQ==",
               "requires": {
                 "@any-touch/core": "^2.0.2",
@@ -1439,7 +1439,7 @@
               "dependencies": {
                 "@liripeng/vue-audio-player": {
                   "version": "1.4.1-beta",
-                  "resolved": "https://registry.npmjs.org/@liripeng/vue-audio-player/-/vue-audio-player-1.4.1-beta.tgz",
+                  "resolved": "https://registry.npmmirror.com/@liripeng/vue-audio-player/-/vue-audio-player-1.4.1-beta.tgz",
                   "integrity": "sha512-w52+E+x+ltHfyswz+H3Jpj1Evx3tomJrPi4hwyzn3Eqvu9UsAf9xTIoNG6eFTTubbNYEu0cPD9q+Kj5eZ4pI9Q==",
                   "requires": {
                     "@any-touch/core": "^2.0.2",
@@ -1450,7 +1450,7 @@
                   "dependencies": {
                     "@liripeng/vue-audio-player": {
                       "version": "1.4.0",
-                      "resolved": "https://registry.npmjs.org/@liripeng/vue-audio-player/-/vue-audio-player-1.4.0.tgz",
+                      "resolved": "https://registry.npmmirror.com/@liripeng/vue-audio-player/-/vue-audio-player-1.4.0.tgz",
                       "integrity": "sha512-v4TlS2Vaq6TymzgTiSvU9gBU9xcFcnTDWFrnswmOfWOqU6Qd8v3KdHMRQ0/SWEgPkdqFKkDFivJEk5aGLfa4VQ==",
                       "requires": {
                         "@any-touch/core": "^2.0.2",
@@ -1461,7 +1461,7 @@
                       "dependencies": {
                         "@liripeng/vue-audio-player": {
                           "version": "1.3.0-beta5",
-                          "resolved": "https://registry.npmjs.org/@liripeng/vue-audio-player/-/vue-audio-player-1.3.0-beta5.tgz",
+                          "resolved": "https://registry.npmmirror.com/@liripeng/vue-audio-player/-/vue-audio-player-1.3.0-beta5.tgz",
                           "integrity": "sha512-00XSEiRjz5ZLcKKkaLXXhcC0092Qz+rgi2vEAsm9vR9wtK2FNP87Ot+qozBKSR/1zWQp1RAhTDcb0tQ+XcbKjw==",
                           "requires": {
                             "@any-touch/core": "^2.0.1",
@@ -1472,7 +1472,7 @@
                           "dependencies": {
                             "vue": {
                               "version": "3.3.4",
-                              "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
+                              "resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.4.tgz",
                               "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
                               "requires": {
                                 "@vue/compiler-dom": "3.3.4",
@@ -1484,7 +1484,7 @@
                             },
                             "vue-router": {
                               "version": "4.2.4",
-                              "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz",
+                              "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.2.4.tgz",
                               "integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==",
                               "requires": {
                                 "@vue/devtools-api": "^6.5.0"
@@ -1498,7 +1498,7 @@
                 },
                 "vue": {
                   "version": "2.7.14",
-                  "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz",
+                  "resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz",
                   "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==",
                   "requires": {
                     "@vue/compiler-sfc": "2.7.14",
@@ -1507,7 +1507,7 @@
                   "dependencies": {
                     "@vue/compiler-sfc": {
                       "version": "2.7.14",
-                      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz",
+                      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz",
                       "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==",
                       "requires": {
                         "@babel/parser": "^7.18.4",
@@ -1519,14 +1519,14 @@
                 },
                 "vue-router": {
                   "version": "3.6.5",
-                  "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz",
+                  "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz",
                   "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ=="
                 }
               }
             },
             "@vue/compiler-core": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
               "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
               "requires": {
                 "@babel/parser": "^7.21.3",
@@ -1537,7 +1537,7 @@
             },
             "@vue/compiler-dom": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
               "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
               "requires": {
                 "@vue/compiler-core": "3.3.4",
@@ -1546,7 +1546,7 @@
             },
             "@vue/compiler-sfc": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
               "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
               "requires": {
                 "@babel/parser": "^7.20.15",
@@ -1563,7 +1563,7 @@
             },
             "@vue/compiler-ssr": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
               "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
               "requires": {
                 "@vue/compiler-dom": "3.3.4",
@@ -1572,7 +1572,7 @@
             },
             "@vue/reactivity": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.4.tgz",
               "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
               "requires": {
                 "@vue/shared": "3.3.4"
@@ -1580,7 +1580,7 @@
             },
             "@vue/reactivity-transform": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
               "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
               "requires": {
                 "@babel/parser": "^7.20.15",
@@ -1592,7 +1592,7 @@
             },
             "@vue/runtime-core": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
               "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
               "requires": {
                 "@vue/reactivity": "3.3.4",
@@ -1601,7 +1601,7 @@
             },
             "@vue/runtime-dom": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
               "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
               "requires": {
                 "@vue/runtime-core": "3.3.4",
@@ -1611,7 +1611,7 @@
             },
             "@vue/server-renderer": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
               "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
               "requires": {
                 "@vue/compiler-ssr": "3.3.4",
@@ -1620,7 +1620,7 @@
             },
             "@vue/shared": {
               "version": "3.3.4",
-              "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
+              "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
               "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
             }
           }
@@ -4243,22 +4243,22 @@
     },
     "bmaplib.curveline": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/bmaplib.curveline/-/bmaplib.curveline-1.0.0.tgz",
+      "resolved": "https://registry.npmmirror.com/bmaplib.curveline/-/bmaplib.curveline-1.0.0.tgz",
       "integrity": "sha512-9wcFMVhiYxNPqpvsLDAADn3qDhNzXp2mA6VyHSHg2XOAgSooC7ZiujdFhy0sp+0QYjTfJ/MjmLuNoUg2HHxH4Q=="
     },
     "bmaplib.heatmap": {
       "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/bmaplib.heatmap/-/bmaplib.heatmap-1.0.4.tgz",
+      "resolved": "https://registry.npmmirror.com/bmaplib.heatmap/-/bmaplib.heatmap-1.0.4.tgz",
       "integrity": "sha512-rmhqUARBpUSJ9jXzUI2j7dIOqnc38bqubkx/8a349U2qtw/ulLUwyzRD535OrA8G7w5cz4aPKm6/rNvUAarg/Q=="
     },
     "bmaplib.lushu": {
       "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/bmaplib.lushu/-/bmaplib.lushu-1.0.7.tgz",
+      "resolved": "https://registry.npmmirror.com/bmaplib.lushu/-/bmaplib.lushu-1.0.7.tgz",
       "integrity": "sha512-LVvgpESPii6xGxyjnQjq8u+ic4NjvhdCPV/RiSS/PGTUdZKeTDS7prSpleJLZH3ES0+oc0gYn8bw0LtPYUSz2w=="
     },
     "bmaplib.markerclusterer": {
       "version": "1.0.13",
-      "resolved": "https://registry.npmjs.org/bmaplib.markerclusterer/-/bmaplib.markerclusterer-1.0.13.tgz",
+      "resolved": "https://registry.npmmirror.com/bmaplib.markerclusterer/-/bmaplib.markerclusterer-1.0.13.tgz",
       "integrity": "sha512-VrLyWSiuDEVNi0yUfwOhFQ6z1oEEHS4w36GNu3iASu6p52QIx9uAXMUkuSCHReNR0bj2Cp9SA1dSx5RpojXajQ==",
       "requires": {
         "bmaplib.texticonoverlay": "^1.0.2"
@@ -4266,7 +4266,7 @@
     },
     "bmaplib.texticonoverlay": {
       "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bmaplib.texticonoverlay/-/bmaplib.texticonoverlay-1.0.2.tgz",
+      "resolved": "https://registry.npmmirror.com/bmaplib.texticonoverlay/-/bmaplib.texticonoverlay-1.0.2.tgz",
       "integrity": "sha512-4ZTWr4ZP3B6qEWput5Tut16CfZgII38YwM3bpyb4gFTQyORlKYryFp9WHWrwZZaHlOyYDAXG9SX0hka43jTADg=="
     },
     "bn.js": {
@@ -4931,6 +4931,16 @@
       "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=",
       "dev": true
     },
+    "clipboard": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz",
+      "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
+      "requires": {
+        "good-listener": "^1.2.2",
+        "select": "^1.1.2",
+        "tiny-emitter": "^2.0.0"
+      }
+    },
     "clipboardy": {
       "version": "2.2.0",
       "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.2.0.tgz",
@@ -6151,6 +6161,11 @@
       "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
       "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
     },
+    "delegate": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz",
+      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
+    },
     "depd": {
       "version": "1.1.2",
       "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
@@ -8582,6 +8597,14 @@
         }
       }
     },
+    "good-listener": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz",
+      "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
+      "requires": {
+        "delegate": "^3.1.2"
+      }
+    },
     "graceful-fs": {
       "version": "4.2.3",
       "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz",
@@ -9894,7 +9917,7 @@
     },
     "linkify-it": {
       "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
+      "resolved": "https://registry.npmmirror.com/linkify-it/-/linkify-it-2.2.0.tgz",
       "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
       "requires": {
         "uc.micro": "^1.0.1"
@@ -10156,7 +10179,7 @@
     },
     "markdown-it": {
       "version": "8.4.2",
-      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz",
+      "resolved": "https://registry.npmmirror.com/markdown-it/-/markdown-it-8.4.2.tgz",
       "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==",
       "requires": {
         "argparse": "^1.0.7",
@@ -10168,7 +10191,7 @@
       "dependencies": {
         "entities": {
           "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+          "resolved": "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz",
           "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
         }
       }
@@ -10200,7 +10223,7 @@
     },
     "mdurl": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+      "resolved": "https://registry.npmmirror.com/mdurl/-/mdurl-1.0.1.tgz",
       "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
     },
     "media-typer": {
@@ -12852,6 +12875,11 @@
         "ajv-keywords": "^3.4.1"
       }
     },
+    "select": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz",
+      "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
+    },
     "select-hose": {
       "version": "2.0.0",
       "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz",
@@ -14244,6 +14272,11 @@
       "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
       "dev": true
     },
+    "tiny-emitter": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+      "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
+    },
     "tmp": {
       "version": "0.0.33",
       "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz",
@@ -14435,7 +14468,7 @@
     },
     "uc.micro": {
       "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
+      "resolved": "https://registry.npmmirror.com/uc.micro/-/uc.micro-1.0.6.tgz",
       "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
     },
     "uglify-js": {
@@ -14916,7 +14949,7 @@
     },
     "vue-baidu-map": {
       "version": "0.21.22",
-      "resolved": "https://registry.npmjs.org/vue-baidu-map/-/vue-baidu-map-0.21.22.tgz",
+      "resolved": "https://registry.npmmirror.com/vue-baidu-map/-/vue-baidu-map-0.21.22.tgz",
       "integrity": "sha512-WQMPCih4UTh0AZCKKH/OVOYnyAWjfRNeK6BIeoLmscyY5aF8zzlJhz/NOHLb3mdztIpB0Z6aohn4Jd9mfCSjQw==",
       "requires": {
         "bmaplib.curveline": "^1.0.0",
@@ -14932,6 +14965,14 @@
       "integrity": "sha512-LluhjWTZmpGl3tiXg51EciF+T70IN/9t6UvfmgluJBqxbrb6OV9i7L5lTd+OKtcTeghDkhcBmYhtTxxU4w/8sQ==",
       "dev": true
     },
+    "vue-clipboard2": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmmirror.com/vue-clipboard2/-/vue-clipboard2-0.3.3.tgz",
+      "integrity": "sha512-aNWXIL2DKgJyY/1OOeITwAQz1fHaCIGvUFHf9h8UcoQBG5a74MkdhS/xqoYe7DNZdQmZRL+TAdIbtUs9OyVjbw==",
+      "requires": {
+        "clipboard": "^2.0.0"
+      }
+    },
     "vue-cookies": {
       "version": "1.7.0",
       "resolved": "http://r.cnpmjs.org/vue-cookies/download/vue-cookies-1.7.0.tgz",

+ 19 - 18
package.json

@@ -8,40 +8,41 @@
     "lint": "vue-cli-service lint"
   },
   "dependencies": {
+    "@liripeng/vue-audio-player": "^1.5.0",
     "axios": "^0.19.2",
+    "babel-plugin-prismjs": "^2.0.1",
     "core-js": "^3.6.4",
     "crypto-js": "^4.1.1",
-    "element-ui": "^2.13.0",
-    "videojs-contrib-hls": "^5.15.0",
-    "videojs-flash": "^2.2.1",
-    "vue": "^2.6.11",
-    "vue-cookies": "^1.7.0",
-    "vue-router": "^3.4.5",
-    "flv.js": "^1.6.2",
-    "hls.js": "^1.1.2",
-    "shaka-player": "^3.2.1",
     "dashjs": "^4.2.0",
     "dplayer": "^1.26.0",
-    "vue-simple-uploader": "^0.7.6",
+    "element-ui": "^2.13.0",
     "filepond": "^4.20.1",
     "filepond-plugin-file-validate-size": "^2.2.1",
     "filepond-plugin-file-validate-type": "^1.2.5",
     "filepond-plugin-image-edit": "^1.6.1",
     "filepond-plugin-image-exif-orientation": "^1.0.9",
     "filepond-plugin-image-preview": "^4.6.4",
+    "flv.js": "^1.6.2",
+    "hls.js": "^1.1.2",
+    "js-cookie": "2.2.0",
     "jsencrypt": "^3.2.1",
-    "vuex": "^3.4.0",
-    "@liripeng/vue-audio-player": "^1.5.0",
     "mavon-editor": "^2.10.4",
-    "v-viewer": "^1.6.4",
-    "vue-quill-editor": "^3.0.6",
-    "babel-plugin-prismjs": "^2.0.1",
-    "js-cookie": "2.2.0",
     "nprogress": "^0.2.0",
     "prismjs": "^1.25.0",
-    "vue-filepond": "^6.0.3",
+    "shaka-player": "^3.2.1",
     "svg-sprite-loader": "^5.0.0",
-    "vue-baidu-map": "^0.21.22"
+    "v-viewer": "^1.6.4",
+    "videojs-contrib-hls": "^5.15.0",
+    "videojs-flash": "^2.2.1",
+    "vue": "^2.6.11",
+    "vue-baidu-map": "^0.21.22",
+    "vue-clipboard2": "^0.3.3",
+    "vue-cookies": "^1.7.0",
+    "vue-filepond": "^6.0.3",
+    "vue-quill-editor": "^3.0.6",
+    "vue-router": "^3.4.5",
+    "vue-simple-uploader": "^0.7.6",
+    "vuex": "^3.4.0"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "^4.5.13",

+ 5 - 0
src/api/map.js

@@ -3,6 +3,7 @@ import { get, post, delete0 } from '@/utils/request'
 const mapAPI = {
   center: '/api/data/map/center',
   markers: '/api/data/map/markers',
+  markerInfoApi: '/api/data/map/marker',
   location: '/api/data/map/location'
 }
 
@@ -10,6 +11,10 @@ export function getMapCenter() {
   return get(mapAPI.center)
 }
 
+export function getMarkerInfo(id) {
+  return get(mapAPI.markerInfoApi + '?id=' + id)
+}
+
 export function getMapMarkers() {
   return get(mapAPI.markers)
 }

+ 3 - 0
src/main.js

@@ -37,6 +37,9 @@ Vue.use(BaiduMap, {
   ak: ''
 })
 
+import VueClipboards from 'vue-clipboard2'
+Vue.use(VueClipboards);
+
 Vue.config.productionTip = false // 阻止控制台打印生产模式下的消息
 Vue.prototype.baseURL = '//api.reghao.cn'
 // this.$user 引用登录的用户

+ 97 - 22
src/views/home/BdMap.vue

@@ -1,34 +1,74 @@
 <template>
   <div>
-    <label>关键词:<input v-model="keyword"></label>
-    <label>地区:<input v-model="location"></label>
-    <!-- zoom=7 比例尺为 100km   -->
+    <label>
+      <el-select v-model="form" placeholder="选择标签" @change="onChange">
+        <el-option label="内容1" value="1" />
+        <el-option label="内容2" value="2" />
+        <el-option label="内容3" value="3" />
+        <el-option label="内容4" value="4" />
+      </el-select>
+    </label>
+    <!-- zoom=7 的比例尺为 100km   -->
     <baidu-map
-      :center="center1"
+      :center="mapCenter"
       :scroll-wheel-zoom="true"
       :zoom="7"
       class="bm-view"
       @click="getClickInfo"
       @ready="onBaiduMapReady"
     >
-      <bm-local-search :keyword="keyword" :auto-viewport="true" :location="location" />
       <!--比例尺控件左上角-->
       <bm-scale anchor="BMAP_ANCHOR_TOP_LEFT" />
       <!--缩放控件右下角-->
       <bm-navigation anchor="BMAP_ANCHOR_BOTTOM_RIGHT" />
       <bm-marker
-        v-for="(item,index) in locations"
+        v-for="(item,index) in markers"
         :key="index"
-        :position="item"
+        :position="item.position"
         @click="getPoint(item)"
       >
         <bm-label
-          :content="item.title"
-          :label-style="{color: 'blue', fontSize : '10px'}"
-          :offset="{width: -35, height: 30}"
+          :content="item.extra"
+          :label-style="{color: 'blue', fontSize : '12px'}"
+          :offset="{width: 0, height: 0}"
         />
       </bm-marker>
     </baidu-map>
+
+    <!-- marker 内容弹窗   -->
+    <el-dialog
+      append-to-body
+      :visible.sync="showMarkerDialog"
+      :before-close="handleDialogClose"
+      width="30%"
+      center
+    >
+      <el-card class="box-card">
+        <div slot="header" class="clearfix">
+          <el-button
+            type="text"
+            v-clipboard:copy="markerPosition.lat + ' ' + markerPosition.lng"
+            v-clipboard:success="onCopy"
+            v-clipboard:error="onCopyError"
+          >GoogleEarth 坐标</el-button>
+        </div>
+        <div class="text item">
+          <el-image v-if="markerInfo.photoUrl !== null" :src="markerInfo.photoUrl" min-width="40" height="30" />
+          <br>
+          <label>
+            商品 <span v-text="markerInfo.itemId"/>
+          </label>
+          <br>
+          <label>
+            评论 <span style="color: blue" v-text="markerInfo.replyContent"/>
+          </label>
+<!--          <br>
+          <label>
+            追加 <span style="color: blue" v-text="markerInfo.appendContent"/>
+          </label>-->
+        </div>
+      </el-card>
+    </el-dialog>
   </div>
 </template>
 
@@ -38,7 +78,7 @@ import BmScale from 'vue-baidu-map/components/controls/Scale'
 import BmNavigation from 'vue-baidu-map/components/controls/Navigation'
 import BmMarker from 'vue-baidu-map/components/overlays/Marker'
 
-import { getMapMarkers, sendClickedLocation } from '@/api/map'
+import { getMapMarkers, getMarkerInfo, sendClickedLocation } from '@/api/map'
 
 export default {
   components: {
@@ -50,17 +90,25 @@ export default {
   data() {
     return {
       BMap: null,
-      locations: [
-        /*{ title: '成都', lng: 104.066, lat: 30.666 },
-        { title: '北京', lng: 116.404, lat: 39.915 }*/
-      ],
-      center: { title: '成都', lng: 104.066, lat: 30.666 },
-      center1: { title: '武汉', lng: 114.322493, lat: 30.586445 },
-      location: '成都',
-      keyword: ''
+      markers: [],
+      mapCenter: { title: '武汉', lng: 114.322493, lat: 30.586445 },
+      showMarkerDialog: false,
+      markerInfo: {
+        itemId: null,
+        replyId: null,
+        replyContent: null,
+        appendContent: null,
+        photoUrl: null
+      },
+      markerPosition: {
+        lat: null,
+        lng: null
+      },
+      form: null,
     }
   },
   created() {
+    document.title = '地图'
   },
   methods: {
     onBaiduMapReady(e) {
@@ -82,7 +130,7 @@ export default {
 
         getMapMarkers().then(res => {
           if (res.code === 0) {
-            this.locations = res.data
+            this.markers = res.data
           } else {
             this.$notify({
               title: res.status,
@@ -137,8 +185,35 @@ export default {
       }
     },
     getPoint(item) {
-      console.log(item.lat + ' ' + item.lng)
-      console.log(item.photoUrl)
+      this.markerPosition = item.position
+      this.showMarkerDialog = true
+      getMarkerInfo(item.id).then(res => {
+        if (res.code === 0) {
+          this.markerInfo = res.data
+        } else {
+          this.showMarkerDialog = false
+        }
+      }).catch(error => {
+        this.showMarkerDialog = false
+      })
+    },
+    handleDialogClose(done) {
+      this.showMarkerDialog = false
+      this.markerPosition = { lat: null, lng: null }
+      done()
+    },
+    onCopy(e) {
+      this.$notify({
+        message: 'GoogleEarth 坐标已复制, 快到 GoogleEarth 中去找这个地方吧~',
+        type: 'warning',
+        duration: 3000
+      })
+    },
+    onCopyError(e) {
+      console.log('复制失败!')
+    },
+    onChange() {
+      console.log(this.form)
     }
   }
 }