diff --git a/package.json b/package.json index 29b6a05..afb5ab5 100644 --- a/package.json +++ b/package.json @@ -13,13 +13,17 @@ "@types/leaflet-draw": "^1.0.7", "@types/proj4leaflet": "^1.0.7", "@vueuse/core": "^10.2.1", + "echarts": "^5.4.3", "geojson": "^0.5.0", + "heatmapjs": "^2.0.2", "leaflet": "^1.9.4", "leaflet-draw": "^1.0.4", + "pinia": "^2.1.6", "proj4": "^2.9.0", "proj4leaflet": "^1.0.2", "quasar": "^2.12.3", - "vue": "^3.3.4" + "vue": "^3.3.4", + "vue-router": "4" }, "devDependencies": { "@quasar/vite-plugin": "^1.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf24c51..4f18763 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,15 +17,24 @@ dependencies: '@vueuse/core': specifier: ^10.2.1 version: 10.2.1(vue@3.3.4) + echarts: + specifier: ^5.4.3 + version: 5.4.3 geojson: specifier: ^0.5.0 version: 0.5.0 + heatmapjs: + specifier: ^2.0.2 + version: 2.0.2 leaflet: specifier: ^1.9.4 version: 1.9.4 leaflet-draw: specifier: ^1.0.4 version: 1.0.4 + pinia: + specifier: ^2.1.6 + version: 2.1.6(typescript@5.1.6)(vue@3.3.4) proj4: specifier: ^2.9.0 version: 2.9.0 @@ -38,6 +47,9 @@ dependencies: vue: specifier: ^3.3.4 version: 3.3.4 + vue-router: + specifier: '4' + version: 4.2.4(vue@3.3.4) devDependencies: '@quasar/vite-plugin': @@ -405,6 +417,10 @@ packages: '@vue/compiler-dom': 3.3.4 '@vue/shared': 3.3.4 + /@vue/devtools-api@6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + dev: false + /@vue/language-core@1.8.5(typescript@5.1.6): resolution: {integrity: sha512-DKQNiNQzNV7nrkZQujvjfX73zqKdj2+KoM4YeKl+ft3f+crO3JB4ycPnmgaRMNX/ULJootdQPGHKFRl5cXxwaw==} peerDependencies: @@ -549,6 +565,13 @@ packages: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true + /echarts@5.4.3: + resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==} + dependencies: + tslib: 2.3.0 + zrender: 5.4.4 + dev: false + /esbuild@0.18.13: resolution: {integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==} engines: {node: '>=12'} @@ -614,6 +637,10 @@ packages: hasBin: true dev: true + /heatmapjs@2.0.2: + resolution: {integrity: sha512-1pO/bbn9G1NYhndvjnzLVAQMGBOCk8abMM7QnLOPlIMoxDfG9Uylb68PlZe/0MCT9GuwGGtchXVPLWfoT6HrCw==} + dev: false + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -692,6 +719,24 @@ packages: engines: {node: '>=8.6'} dev: true + /pinia@2.1.6(typescript@5.1.6)(vue@3.3.4): + resolution: {integrity: sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.5.0 + typescript: 5.1.6 + vue: 3.3.4 + vue-demi: 0.14.5(vue@3.3.4) + dev: false + /postcss@8.4.26: resolution: {integrity: sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==} engines: {node: ^10 || ^12 || >=14} @@ -763,11 +808,14 @@ packages: is-number: 7.0.0 dev: true + /tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + dev: false + /typescript@5.1.6: resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} engines: {node: '>=14.17'} hasBin: true - dev: true /vite@4.4.4(sass@1.32.12): resolution: {integrity: sha512-4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==} @@ -820,6 +868,15 @@ packages: vue: 3.3.4 dev: false + /vue-router@4.2.4(vue@3.3.4): + resolution: {integrity: sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.0 + vue: 3.3.4 + dev: false + /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} dependencies: @@ -855,3 +912,9 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true + + /zrender@5.4.4: + resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==} + dependencies: + tslib: 2.3.0 + dev: false diff --git a/src/App.vue b/src/App.vue index 8957f8b..9c10e70 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,129 +1,115 @@ diff --git a/src/components/Map.vue b/src/components/Map.vue index 90ddd19..dd85373 100644 --- a/src/components/Map.vue +++ b/src/components/Map.vue @@ -1,70 +1,62 @@ - diff --git a/src/components/MapMenu.vue b/src/components/MapMenu.vue new file mode 100644 index 0000000..62a06bd --- /dev/null +++ b/src/components/MapMenu.vue @@ -0,0 +1,43 @@ + + diff --git a/src/components/left/CtrlMenu.vue b/src/components/left/CtrlMenu.vue index f1586ee..a2a8780 100644 --- a/src/components/left/CtrlMenu.vue +++ b/src/components/left/CtrlMenu.vue @@ -5,15 +5,10 @@ export type DataProps = { zoom: { min: number, max: number }, urlTemplate: strin