From 819d0d32e5bd16294c13709a1dabb6180abfde17 Mon Sep 17 00:00:00 2001 From: zhaipx Date: Thu, 6 Feb 2025 17:59:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=BC=95=E5=85=A5naiveUI,=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=B7=A5=E5=85=B7=E6=9D=A1=E9=9B=8F=E5=BD=A2,?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=B7=9D=E7=A6=BB=E6=B5=8B=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 + pnpm-lock.yaml | 161 ++++++++++++- src/App.vue | 6 + src/assets/js/cesium-map/measureDistance.js | 242 ++++++++++++++++++++ src/components/map/LayerManager.vue | 16 ++ src/components/map/SceneViewer.vue | 17 +- src/components/toolbar.vue | 132 ++++++++++- src/global.d.ts | 1 + src/main.ts | 2 + src/utils/map/draw/drawPolyline.ts | 2 + 10 files changed, 569 insertions(+), 12 deletions(-) create mode 100644 src/assets/js/cesium-map/measureDistance.js diff --git a/package.json b/package.json index 8bb6525..2f92288 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,12 @@ "preinstall": "node ./scripts/preinstall.js" }, "dependencies": { + "@vicons/ionicons5": "^0.13.0", "axios": "^1.6.7", "cesium": "1.108", "cesium-navigation-es6": "^3.0.8", "echarts": "^5.5.0", + "naive-ui": "^2.35.0", "pinia": "^2.1.7", "vue": "^3.4.21" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a87f15..fc0b11e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + '@vicons/ionicons5': + specifier: ^0.13.0 + version: 0.13.0 axios: specifier: ^1.6.7 version: 1.6.7 @@ -17,6 +20,9 @@ dependencies: echarts: specifier: ^5.5.0 version: 5.5.0 + naive-ui: + specifier: ^2.35.0 + version: 2.41.0(vue@3.4.21) pinia: specifier: ^2.1.7 version: 2.1.7(typescript@5.4.2)(vue@3.4.21) @@ -535,6 +541,22 @@ packages: chalk: 5.3.0 dev: true + /@css-render/plugin-bem@0.15.14(css-render@0.15.14): + resolution: {integrity: sha512-QK513CJ7yEQxm/P3EwsI+d+ha8kSOcjGvD6SevM41neEMxdULE+18iuQK6tEChAWMOQNQPLG/Rw3Khb69r5neg==, tarball: https://registry.npmmirror.com/@css-render/plugin-bem/-/plugin-bem-0.15.14.tgz} + peerDependencies: + css-render: ~0.15.14 + dependencies: + css-render: 0.15.14 + dev: false + + /@css-render/vue3-ssr@0.15.14(vue@3.4.21): + resolution: {integrity: sha512-//8027GSbxE9n3QlD73xFY6z4ZbHbvrOVB7AO6hsmrEzGbg+h2A09HboUyDgu+xsmj7JnvJD39Irt+2D0+iV8g==, tarball: https://registry.npmmirror.com/@css-render/vue3-ssr/-/vue3-ssr-0.15.14.tgz} + peerDependencies: + vue: ^3.0.11 + dependencies: + vue: 3.4.21(typescript@5.4.2) + dev: false + /@csstools/css-parser-algorithms@2.6.0(@csstools/css-tokenizer@2.2.3): resolution: {integrity: sha512-YfEHq0eRH98ffb5/EsrrDspVWAuph6gDggAE74ZtjecsmyyWpW768hOyiONa8zwWGbIWYfa2Xp4tRTrpQQ00CQ==} engines: {node: ^14 || ^16 || >=18} @@ -569,6 +591,10 @@ packages: postcss-selector-parser: 6.0.15 dev: true + /@emotion/hash@0.8.0: + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==, tarball: https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz} + dev: false + /@esbuild/aix-ppc64@0.19.12: resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, tarball: https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz} engines: {node: '>=12'} @@ -862,6 +888,10 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@juggle/resize-observer@3.4.0: + resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==, tarball: https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz} + dev: false + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} dependencies: @@ -1073,6 +1103,20 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true + /@types/katex@0.16.7: + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==, tarball: https://registry.npmmirror.com/@types/katex/-/katex-0.16.7.tgz} + dev: false + + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==, tarball: https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz} + dependencies: + '@types/lodash': 4.17.14 + dev: false + + /@types/lodash@4.17.14: + resolution: {integrity: sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==, tarball: https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.14.tgz} + dev: false + /@types/node@20.11.25: resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} dependencies: @@ -1224,6 +1268,10 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true + /@vicons/ionicons5@0.13.0: + resolution: {integrity: sha512-zvZKBPjEXKN7AXNo2Na2uy+nvuv6SP4KAMQxpKL2vfHMj0fSvuw7JZcOPCjQC3e7ayssKnaoFVAhbYcW6v41qQ==, tarball: https://registry.npmmirror.com/@vicons/ionicons5/-/ionicons5-0.13.0.tgz} + dev: false + /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1546,6 +1594,10 @@ packages: engines: {node: '>=8'} dev: true + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, tarball: https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz} + dev: false + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false @@ -1961,6 +2013,13 @@ packages: engines: {node: '>=12 || >=16'} dev: true + /css-render@0.15.14: + resolution: {integrity: sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==, tarball: https://registry.npmmirror.com/css-render/-/css-render-0.15.14.tgz} + dependencies: + '@emotion/hash': 0.8.0 + csstype: 3.0.11 + dev: false + /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: @@ -2005,14 +2064,30 @@ packages: css-tree: 1.1.3 dev: true + /csstype@3.0.11: + resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==, tarball: https://registry.npmmirror.com/csstype/-/csstype-3.0.11.tgz} + dev: false + /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, tarball: https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz} /dargs@8.1.0: resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} engines: {node: '>=12'} dev: true + /date-fns-tz@3.2.0(date-fns@3.6.0): + resolution: {integrity: sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==, tarball: https://registry.npmmirror.com/date-fns-tz/-/date-fns-tz-3.2.0.tgz} + peerDependencies: + date-fns: ^3.0.0 || ^4.0.0 + dependencies: + date-fns: 3.6.0 + dev: false + + /date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==, tarball: https://registry.npmmirror.com/date-fns/-/date-fns-3.6.0.tgz} + dev: false + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true @@ -2670,6 +2745,10 @@ packages: engines: {node: '>= 0.6'} dev: true + /evtd@0.2.4: + resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==, tarball: https://registry.npmmirror.com/evtd/-/evtd-0.2.4.tgz} + dev: false + /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -3157,6 +3236,11 @@ packages: hasBin: true dev: true + /highlight.js@11.11.1: + resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==, tarball: https://registry.npmmirror.com/highlight.js/-/highlight.js-11.11.1.tgz} + engines: {node: '>=12.0.0'} + dev: false + /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -3664,6 +3748,10 @@ packages: p-locate: 6.0.0 dev: true + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, tarball: https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz} + dev: false + /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true @@ -3705,8 +3793,7 @@ packages: dev: true /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, tarball: https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz} /long@5.2.3: resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} @@ -3872,6 +3959,33 @@ packages: resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} dev: true + /naive-ui@2.41.0(vue@3.4.21): + resolution: {integrity: sha512-KnmLg+xPLwXV8QVR7ZZ69eCjvel7R5vru8+eFe4VoAJHEgqAJgVph6Zno9K2IVQRpSF3GBGea3tjavslOR4FAA==, tarball: https://registry.npmmirror.com/naive-ui/-/naive-ui-2.41.0.tgz} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@css-render/plugin-bem': 0.15.14(css-render@0.15.14) + '@css-render/vue3-ssr': 0.15.14(vue@3.4.21) + '@types/katex': 0.16.7 + '@types/lodash': 4.17.14 + '@types/lodash-es': 4.17.12 + async-validator: 4.2.5 + css-render: 0.15.14 + csstype: 3.1.3 + date-fns: 3.6.0 + date-fns-tz: 3.2.0(date-fns@3.6.0) + evtd: 0.2.4 + highlight.js: 11.11.1 + lodash: 4.17.21 + lodash-es: 4.17.21 + seemly: 0.3.9 + treemate: 0.3.11 + vdirs: 0.1.8(vue@3.4.21) + vooks: 0.2.12(vue@3.4.21) + vue: 3.4.21(typescript@5.4.2) + vueuc: 0.4.64(vue@3.4.21) + dev: false + /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4549,6 +4663,10 @@ packages: source-map-js: 1.0.2 dev: true + /seemly@0.3.9: + resolution: {integrity: sha512-bMLcaEqhIViiPbaumjLN8t1y+JpD/N8SiyYOyp0i0W6RgdyLWboIsUWAbZojF//JyerxPZR5Tgda+x3Pdne75A==, tarball: https://registry.npmmirror.com/seemly/-/seemly-0.3.9.tgz} + dev: false + /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -5142,6 +5260,10 @@ packages: engines: {node: '>= 0.4'} dev: true + /treemate@0.3.11: + resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==, tarball: https://registry.npmmirror.com/treemate/-/treemate-0.3.11.tgz} + dev: false + /ts-api-utils@1.2.1(typescript@5.4.2): resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} engines: {node: '>=16'} @@ -5308,6 +5430,15 @@ packages: engines: {node: '>= 0.8'} dev: true + /vdirs@0.1.8(vue@3.4.21): + resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==, tarball: https://registry.npmmirror.com/vdirs/-/vdirs-0.1.8.tgz} + peerDependencies: + vue: ^3.0.11 + dependencies: + evtd: 0.2.4 + vue: 3.4.21(typescript@5.4.2) + dev: false + /vite-plugin-svg-icons@2.0.1(vite@5.1.5): resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} peerDependencies: @@ -5363,6 +5494,15 @@ packages: fsevents: 2.3.3 dev: true + /vooks@0.2.12(vue@3.4.21): + resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==, tarball: https://registry.npmmirror.com/vooks/-/vooks-0.2.12.tgz} + peerDependencies: + vue: ^3.0.0 + dependencies: + evtd: 0.2.4 + vue: 3.4.21(typescript@5.4.2) + dev: false + /vue-demi@0.14.7(vue@3.4.21): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} @@ -5430,6 +5570,21 @@ packages: '@vue/shared': 3.4.21 typescript: 5.4.2 + /vueuc@0.4.64(vue@3.4.21): + resolution: {integrity: sha512-wlJQj7fIwKK2pOEoOq4Aro8JdPOGpX8aWQhV8YkTW9OgWD2uj2O8ANzvSsIGjx7LTOc7QbS7sXdxHi6XvRnHPA==, tarball: https://registry.npmmirror.com/vueuc/-/vueuc-0.4.64.tgz} + peerDependencies: + vue: ^3.0.11 + dependencies: + '@css-render/vue3-ssr': 0.15.14(vue@3.4.21) + '@juggle/resize-observer': 3.4.0 + css-render: 0.15.14 + evtd: 0.2.4 + seemly: 0.3.9 + vdirs: 0.1.8(vue@3.4.21) + vooks: 0.2.12(vue@3.4.21) + vue: 3.4.21(typescript@5.4.2) + dev: false + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: diff --git a/src/App.vue b/src/App.vue index e64afae..2e8d113 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,13 +1,19 @@ diff --git a/src/components/map/SceneViewer.vue b/src/components/map/SceneViewer.vue index 6e37af0..7c5793c 100644 --- a/src/components/map/SceneViewer.vue +++ b/src/components/map/SceneViewer.vue @@ -24,6 +24,7 @@ import { initViewer, perfViewer, showNavigator } from '@/utils/map/sceneViewer' import { flyToChina } from '@/utils/map/camera' import CreatePolyline from '@/utils/map/draw/drawPolyline' import ProfileAnalysis from "@/components/ProfileAnalysis.vue"; +import MeasureDistance from "@/assets/js/cesium-map/measureDistance"; const viewerDivRef = ref() let viewer: Viewer @@ -64,14 +65,16 @@ onMounted(() => { // 挂载在window,供全局组件共享 window.viewer = viewer + window.measureViewer = new MeasureDistance(viewer); //绘制多边形 - const drawPolyline = new CreatePolyline(viewer,false,true,{}) - linePoints.value = drawPolyline.positions.length - drawPolyline.start() - profileChart.value?.openDia() - profileChart.value?.drawChart([0,1,2,3,4,5,6,7,8,9], - [-70,800,300,400,23,232,435,243,234,343], - [90,900,900,600,235,262,535,643,734,443]) + // const drawPolyline = new CreatePolyline(viewer,false,true,{}) + // linePoints.value = drawPolyline.positions.length + // drawPolyline.start() + // profileChart.value?.openDia() + // + // 绘制地形剖面线 + // profileChart.value?.drawChart_TerrainProfile([0,1,2,3,4,5,6,7,8,9], + // [-70,800,300,400,23,232,435,243,234,343]) }) diff --git a/src/components/toolbar.vue b/src/components/toolbar.vue index 30040a3..5df2730 100644 --- a/src/components/toolbar.vue +++ b/src/components/toolbar.vue @@ -3,14 +3,142 @@ 创建时间:2024/4/16 10:54 创建人:Zhaipeixiu --> - diff --git a/src/global.d.ts b/src/global.d.ts index e004482..8e17850 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -17,5 +17,6 @@ declare global { Cesium: Cesium CESIUM_BASE_URL: string viewer: Viewer + measureViewer: any; } } diff --git a/src/main.ts b/src/main.ts index 69ae865..15d322c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,8 +3,10 @@ import './style.css' import App from './App.vue' import { createPinia } from 'pinia' import 'virtual:svg-icons-register' +import naive from "naive-ui"; const pinia = createPinia() const app = createApp(App) +app.use(naive) app.use(pinia) app.mount('#app') diff --git a/src/utils/map/draw/drawPolyline.ts b/src/utils/map/draw/drawPolyline.ts index a9cb2cf..dc21ef6 100644 --- a/src/utils/map/draw/drawPolyline.ts +++ b/src/utils/map/draw/drawPolyline.ts @@ -42,6 +42,7 @@ export default class CreatePolyline { clickedGeometry: Entity | null = null moveSelectedPoint: PointEntity | null = null positions: Cartesian3[] = [] + pointNum: number = 0 bMove: boolean = false bMeasure: boolean | undefined = false //是否处于测距模式 bProfile: boolean | undefined = false //是否处于测距模式 @@ -121,6 +122,7 @@ export default class CreatePolyline { this.altitudeOffset, ) this.polyline.addPoint(cartesian3) + this.pointNum += 1 this.trackingLinePositions[0] = cartesian3 //垂直辅助线 const n = this.positions.length - 1