vue-openlayers-plugin 1.0.68 → 1.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/style.css CHANGED
@@ -2129,275 +2129,275 @@ label {
2129
2129
  }
2130
2130
  }
2131
2131
 
2132
- .layer-dialog {
2132
+ .layer-dialog {
2133
2133
  /* 全局样式面板样式 */
2134
- .global-style-panel {
2135
- padding: 16px;
2136
- border-bottom: 1px solid #eee;
2134
+ .global-style-panel {
2135
+ padding: 16px;
2136
+ border-bottom: 1px solid #eee;
2137
2137
  background-color: #f8f9fa;
2138
- .panel-title {
2139
- margin: 0 0 16px 0;
2140
- font-size: 14px;
2141
- font-weight: 600;
2142
- color: #333;
2143
- border-bottom: 1px solid #ddd;
2138
+ .panel-title {
2139
+ margin: 0 0 16px 0;
2140
+ font-size: 14px;
2141
+ font-weight: 600;
2142
+ color: #333;
2143
+ border-bottom: 1px solid #ddd;
2144
2144
  padding-bottom: 8px;
2145
2145
  }
2146
- .config-section {
2146
+ .config-section {
2147
2147
  margin-bottom: 16px;
2148
- h5 {
2149
- margin: 0 0 12px 0;
2150
- font-size: 13px;
2151
- font-weight: 500;
2148
+ h5 {
2149
+ margin: 0 0 12px 0;
2150
+ font-size: 13px;
2151
+ font-weight: 500;
2152
2152
  color: #666;
2153
2153
  }
2154
- .config-item {
2155
- display: flex;
2156
- align-items: center;
2157
- margin-bottom: 12px;
2154
+ .config-item {
2155
+ display: flex;
2156
+ align-items: center;
2157
+ margin-bottom: 12px;
2158
2158
  gap: 8px;
2159
- label {
2160
- flex: 0 0 60px;
2161
- font-size: 12px;
2159
+ label {
2160
+ flex: 0 0 60px;
2161
+ font-size: 12px;
2162
2162
  color: #666;
2163
2163
  }
2164
- .el-slider {
2165
- flex: 1;
2164
+ .el-slider {
2165
+ flex: 1;
2166
2166
  margin: 0 8px;
2167
2167
  }
2168
- .value-text {
2169
- flex: 0 0 45px;
2170
- font-size: 12px;
2171
- color: #999;
2168
+ .value-text {
2169
+ flex: 0 0 45px;
2170
+ font-size: 12px;
2171
+ color: #999;
2172
2172
  text-align: right;
2173
2173
  }
2174
2174
  }
2175
- .preset-buttons {
2176
- display: flex;
2177
- gap: 6px;
2175
+ .preset-buttons {
2176
+ display: flex;
2177
+ gap: 6px;
2178
2178
  flex-wrap: wrap;
2179
- .el-button {
2180
- flex: 1;
2179
+ .el-button {
2180
+ flex: 1;
2181
2181
  min-width: 60px;
2182
2182
  }
2183
2183
  }
2184
2184
  }
2185
- .panel-actions {
2186
- margin-top: 16px;
2187
- padding-top: 12px;
2188
- border-top: 1px solid #ddd;
2185
+ .panel-actions {
2186
+ margin-top: 16px;
2187
+ padding-top: 12px;
2188
+ border-top: 1px solid #ddd;
2189
2189
  text-align: center;
2190
2190
  }
2191
- .custom-css-input {
2192
- font-family: "Courier New", monospace;
2193
- font-size: 12px;
2191
+ .custom-css-input {
2192
+ font-family: "Courier New", monospace;
2193
+ font-size: 12px;
2194
2194
  line-height: 1.4;
2195
2195
  }
2196
- .custom-css-input :deep(.el-textarea__inner) {
2197
- font-family: "Courier New", monospace;
2198
- font-size: 12px;
2199
- line-height: 1.4;
2200
- background-color: #fff;
2196
+ .custom-css-input :deep(.el-textarea__inner) {
2197
+ font-family: "Courier New", monospace;
2198
+ font-size: 12px;
2199
+ line-height: 1.4;
2200
+ background-color: #fff;
2201
2201
  border: 1px solid #e9ecef;
2202
2202
  }
2203
2203
  .style-tabs {
2204
- :deep(.el-tabs__header) {
2204
+ :deep(.el-tabs__header) {
2205
2205
  margin: 0 0 16px 0;
2206
2206
  }
2207
- :deep(.el-tabs__nav-wrap) {
2207
+ :deep(.el-tabs__nav-wrap) {
2208
2208
  padding: 0;
2209
2209
  }
2210
- :deep(.el-tabs__item) {
2211
- font-size: 12px;
2212
- padding: 0 16px;
2213
- height: 32px;
2210
+ :deep(.el-tabs__item) {
2211
+ font-size: 12px;
2212
+ padding: 0 16px;
2213
+ height: 32px;
2214
2214
  line-height: 32px;
2215
2215
  }
2216
- :deep(.el-tabs__content) {
2216
+ :deep(.el-tabs__content) {
2217
2217
  padding: 0;
2218
2218
  }
2219
2219
  }
2220
- .current-style-display {
2221
- margin-top: 16px;
2222
- padding: 12px;
2223
- background-color: #f5f5f5;
2224
- border-radius: 4px;
2220
+ .current-style-display {
2221
+ margin-top: 16px;
2222
+ padding: 12px;
2223
+ background-color: #f5f5f5;
2224
+ border-radius: 4px;
2225
2225
  border: 1px solid #e9ecef;
2226
- h6 {
2227
- margin: 0 0 8px 0;
2228
- font-size: 12px;
2229
- font-weight: 500;
2226
+ h6 {
2227
+ margin: 0 0 8px 0;
2228
+ font-size: 12px;
2229
+ font-weight: 500;
2230
2230
  color: #666;
2231
2231
  }
2232
- .style-preview {
2233
- font-family: "Courier New", monospace;
2234
- font-size: 11px;
2235
- line-height: 1.4;
2236
- color: #333;
2237
- background-color: #fff;
2238
- padding: 8px;
2239
- border-radius: 3px;
2240
- border: 1px solid #ddd;
2241
- word-break: break-all;
2242
- white-space: pre-wrap;
2243
- max-height: 120px;
2232
+ .style-preview {
2233
+ font-family: "Courier New", monospace;
2234
+ font-size: 11px;
2235
+ line-height: 1.4;
2236
+ color: #333;
2237
+ background-color: #fff;
2238
+ padding: 8px;
2239
+ border-radius: 3px;
2240
+ border: 1px solid #ddd;
2241
+ word-break: break-all;
2242
+ white-space: pre-wrap;
2243
+ max-height: 120px;
2244
2244
  overflow-y: auto;
2245
2245
  }
2246
2246
  }
2247
- }
2248
-
2247
+ }
2248
+
2249
2249
  /* 主标签页样式 */
2250
- .main-tabs {
2251
- height: 100%;
2252
- display: flex;
2250
+ .main-tabs {
2251
+ height: 100%;
2252
+ display: flex;
2253
2253
  flex-direction: column;
2254
2254
  }
2255
- .main-tabs .el-tabs__content {
2256
- flex: 1;
2257
- overflow: hidden;
2255
+ .main-tabs .el-tabs__content {
2256
+ flex: 1;
2257
+ overflow: hidden;
2258
2258
  padding: 0;
2259
2259
  }
2260
- .main-tabs .el-tab-pane {
2261
- height: 100%;
2262
- overflow: auto;
2263
- display: flex;
2260
+ .main-tabs .el-tab-pane {
2261
+ height: 100%;
2262
+ overflow: auto;
2263
+ display: flex;
2264
2264
  flex-direction: column;
2265
2265
  }
2266
2266
  .layer-tree {
2267
- .tree-node-content {
2267
+ .tree-node-content {
2268
2268
  width: 100%;
2269
- .group-node {
2270
- display: flex;
2271
- align-items: center;
2269
+ .group-node {
2270
+ display: flex;
2271
+ align-items: center;
2272
2272
  padding: 8px 0;
2273
2273
  }
2274
- .layer-item {
2275
- display: flex;
2276
- align-items: center;
2277
- justify-content: space-between;
2278
- width: 100%;
2274
+ .layer-item {
2275
+ display: flex;
2276
+ align-items: center;
2277
+ justify-content: space-between;
2278
+ width: 100%;
2279
2279
  padding: 6px 0;
2280
- .layer-info {
2281
- display: flex;
2282
- align-items: center;
2283
- flex: 1;
2280
+ .layer-info {
2281
+ display: flex;
2282
+ align-items: center;
2283
+ flex: 1;
2284
2284
  min-width: 0;
2285
- .layer-icon {
2286
- margin-right: 8px;
2285
+ .layer-icon {
2286
+ margin-right: 8px;
2287
2287
  flex-shrink: 0;
2288
2288
  }
2289
- .layer-name {
2290
- font-size: 14px;
2291
- color: #333;
2292
- white-space: nowrap;
2293
- overflow: hidden;
2289
+ .layer-name {
2290
+ font-size: 14px;
2291
+ color: #333;
2292
+ white-space: nowrap;
2293
+ overflow: hidden;
2294
2294
  text-overflow: ellipsis;
2295
2295
  }
2296
2296
  }
2297
- .layer-controls {
2298
- display: flex;
2299
- align-items: center;
2297
+ .layer-controls {
2298
+ display: flex;
2299
+ align-items: center;
2300
2300
  gap: 8px;
2301
- .opacity-control {
2302
- display: flex;
2303
- align-items: center;
2304
- gap: 8px;
2301
+ .opacity-control {
2302
+ display: flex;
2303
+ align-items: center;
2304
+ gap: 8px;
2305
2305
  min-width: 120px;
2306
- .opacity-slider {
2307
- flex: 1;
2306
+ .opacity-slider {
2307
+ flex: 1;
2308
2308
  min-width: 80px;
2309
2309
  }
2310
- .opacity-value {
2311
- font-size: 12px;
2312
- color: #666;
2313
- min-width: 35px;
2314
- text-align: right;
2310
+ .opacity-value {
2311
+ font-size: 12px;
2312
+ color: #666;
2313
+ min-width: 35px;
2314
+ text-align: right;
2315
2315
  white-space: nowrap;
2316
2316
  }
2317
2317
  }
2318
- .style-config-btn {
2319
- width: 24px;
2320
- height: 24px;
2321
- padding: 0;
2318
+ .style-config-btn {
2319
+ width: 24px;
2320
+ height: 24px;
2321
+ padding: 0;
2322
2322
  margin-left: 4px;
2323
2323
  }
2324
2324
  }
2325
2325
  }
2326
2326
  }
2327
2327
  }
2328
- }
2329
-
2328
+ }
2329
+
2330
2330
  /* 样式配置面板样式 */
2331
2331
  :deep(.layer-style-popover) {
2332
- .style-config-panel {
2332
+ .style-config-panel {
2333
2333
  padding: 0;
2334
- .panel-title {
2335
- margin: 0 0 16px 0;
2336
- font-size: 14px;
2337
- font-weight: 600;
2338
- color: #333;
2339
- border-bottom: 1px solid #eee;
2334
+ .panel-title {
2335
+ margin: 0 0 16px 0;
2336
+ font-size: 14px;
2337
+ font-weight: 600;
2338
+ color: #333;
2339
+ border-bottom: 1px solid #eee;
2340
2340
  padding-bottom: 8px;
2341
2341
  }
2342
- .config-section {
2342
+ .config-section {
2343
2343
  margin-bottom: 16px;
2344
- h5 {
2345
- margin: 0 0 12px 0;
2346
- font-size: 13px;
2347
- font-weight: 500;
2344
+ h5 {
2345
+ margin: 0 0 12px 0;
2346
+ font-size: 13px;
2347
+ font-weight: 500;
2348
2348
  color: #666;
2349
2349
  }
2350
- .config-item {
2351
- display: flex;
2352
- align-items: center;
2353
- margin-bottom: 12px;
2350
+ .config-item {
2351
+ display: flex;
2352
+ align-items: center;
2353
+ margin-bottom: 12px;
2354
2354
  gap: 8px;
2355
- label {
2356
- flex: 0 0 60px;
2357
- font-size: 12px;
2355
+ label {
2356
+ flex: 0 0 60px;
2357
+ font-size: 12px;
2358
2358
  color: #666;
2359
2359
  }
2360
- .el-slider {
2361
- flex: 1;
2360
+ .el-slider {
2361
+ flex: 1;
2362
2362
  margin: 0 8px;
2363
2363
  }
2364
- .value-text {
2365
- flex: 0 0 45px;
2366
- font-size: 12px;
2367
- color: #999;
2364
+ .value-text {
2365
+ flex: 0 0 45px;
2366
+ font-size: 12px;
2367
+ color: #999;
2368
2368
  text-align: right;
2369
2369
  }
2370
2370
  }
2371
- .preset-buttons {
2372
- display: flex;
2373
- gap: 6px;
2371
+ .preset-buttons {
2372
+ display: flex;
2373
+ gap: 6px;
2374
2374
  flex-wrap: wrap;
2375
- .el-button {
2376
- flex: 1;
2375
+ .el-button {
2376
+ flex: 1;
2377
2377
  min-width: 60px;
2378
2378
  }
2379
2379
  }
2380
2380
  }
2381
- .panel-actions {
2382
- margin-top: 16px;
2383
- padding-top: 12px;
2384
- border-top: 1px solid #eee;
2381
+ .panel-actions {
2382
+ margin-top: 16px;
2383
+ padding-top: 12px;
2384
+ border-top: 1px solid #eee;
2385
2385
  text-align: center;
2386
2386
  }
2387
- .custom-css-input {
2388
- font-family: "Courier New", monospace;
2389
- font-size: 12px;
2387
+ .custom-css-input {
2388
+ font-family: "Courier New", monospace;
2389
+ font-size: 12px;
2390
2390
  line-height: 1.4;
2391
2391
  }
2392
- .custom-css-input :deep(.el-textarea__inner) {
2393
- font-family: "Courier New", monospace;
2394
- font-size: 12px;
2395
- line-height: 1.4;
2396
- background-color: #f8f9fa;
2392
+ .custom-css-input :deep(.el-textarea__inner) {
2393
+ font-family: "Courier New", monospace;
2394
+ font-size: 12px;
2395
+ line-height: 1.4;
2396
+ background-color: #f8f9fa;
2397
2397
  border: 1px solid #e9ecef;
2398
2398
  }
2399
2399
  }
2400
- }
2400
+ }
2401
2401
 
2402
2402
  .context-menu {
2403
2403
  background: white;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-openlayers-plugin",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "description": "A Vue 3 plugin for OpenLayers with custom components and utilities",
5
5
  "main": "lib/index.umd.js",
6
6
  "module": "lib/index.esm.js",
@@ -46,48 +46,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
46
46
  visible: boolean;
47
47
  opacity: number;
48
48
  zIndex: number;
49
- source?: {
50
- loading: boolean;
51
- getAttributions: () => import('ol/source/Source').Attribution | null;
52
- getAttributionsCollapsible: () => boolean;
53
- getProjection: () => import('ol/proj/Projection').default | null;
54
- getResolutions: (projection?: import('ol/proj/Projection').default | undefined) => number[] | null;
55
- getView: () => Promise<import('ol/View').ViewOptions>;
56
- getState: () => import('ol/source/Source').State;
57
- getWrapX: () => boolean | undefined;
58
- getInterpolate: () => boolean;
59
- refresh: () => void;
60
- setAttributions: (attributions: import('ol/source/Source').AttributionLike | undefined) => void;
61
- setState: (state: import('ol/source/Source').State) => void;
62
- on: import('ol/Object').ObjectOnSignature<import('ol/events').EventsKey>;
63
- once: import('ol/Object').ObjectOnSignature<import('ol/events').EventsKey>;
64
- un: import('ol/Object').ObjectOnSignature<void>;
65
- get: (key: string) => any;
66
- getKeys: () => string[];
67
- getProperties: () => {
68
- [x: string]: any;
69
- };
70
- getPropertiesInternal: () => {
71
- [x: string]: any;
72
- } | null;
73
- hasProperties: () => boolean;
74
- notify: (key: string, oldValue: any) => void;
75
- addChangeListener: (key: string, listener: import('ol/events').Listener) => void;
76
- removeChangeListener: (key: string, listener: import('ol/events').Listener) => void;
77
- set: (key: string, value: any, silent?: boolean | undefined) => void;
78
- setProperties: (values: {
79
- [x: string]: any;
80
- }, silent?: boolean | undefined) => void;
81
- unset: (key: string, silent?: boolean | undefined) => void;
82
- changed: () => void;
83
- getRevision: () => number;
84
- addEventListener: (type: string, listener: import('ol/events').Listener) => void;
85
- dispatchEvent: (event: string | import('ol/events/Event').default) => boolean | undefined;
86
- getListeners: (type: string) => import('ol/events').Listener[] | undefined;
87
- hasListener: (type?: string | undefined) => boolean;
88
- removeEventListener: (type: string, listener: import('ol/events').Listener) => void;
89
- dispose: () => void;
90
- } | undefined;
49
+ source?: any;
91
50
  layer?: {
92
51
  on: import('ol/layer/Layer').LayerOnSignature<import('ol/events').EventsKey>;
93
52
  once: import('ol/layer/Layer').LayerOnSignature<import('ol/events').EventsKey>;
@@ -315,6 +274,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
315
274
  value: any;
316
275
  }[] | undefined;
317
276
  } | undefined;
277
+ supermapConfig?: {
278
+ queryMethod?: "point" | "buffer" | undefined;
279
+ bufferDistance?: number | undefined;
280
+ datasetNames?: string[] | undefined;
281
+ featureServiceUrl?: string | undefined;
282
+ } | undefined;
318
283
  clusterDistance?: number | undefined;
319
284
  minDistance?: number | undefined;
320
285
  heatmapBlur?: number | undefined;
@@ -541,48 +506,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
541
506
  visible: boolean;
542
507
  opacity: number;
543
508
  zIndex: number;
544
- source?: {
545
- loading: boolean;
546
- getAttributions: () => import('ol/source/Source').Attribution | null;
547
- getAttributionsCollapsible: () => boolean;
548
- getProjection: () => import('ol/proj/Projection').default | null;
549
- getResolutions: (projection?: import('ol/proj/Projection').default | undefined) => number[] | null;
550
- getView: () => Promise<import('ol/View').ViewOptions>;
551
- getState: () => import('ol/source/Source').State;
552
- getWrapX: () => boolean | undefined;
553
- getInterpolate: () => boolean;
554
- refresh: () => void;
555
- setAttributions: (attributions: import('ol/source/Source').AttributionLike | undefined) => void;
556
- setState: (state: import('ol/source/Source').State) => void;
557
- on: import('ol/Object').ObjectOnSignature<import('ol/events').EventsKey>;
558
- once: import('ol/Object').ObjectOnSignature<import('ol/events').EventsKey>;
559
- un: import('ol/Object').ObjectOnSignature<void>;
560
- get: (key: string) => any;
561
- getKeys: () => string[];
562
- getProperties: () => {
563
- [x: string]: any;
564
- };
565
- getPropertiesInternal: () => {
566
- [x: string]: any;
567
- } | null;
568
- hasProperties: () => boolean;
569
- notify: (key: string, oldValue: any) => void;
570
- addChangeListener: (key: string, listener: import('ol/events').Listener) => void;
571
- removeChangeListener: (key: string, listener: import('ol/events').Listener) => void;
572
- set: (key: string, value: any, silent?: boolean | undefined) => void;
573
- setProperties: (values: {
574
- [x: string]: any;
575
- }, silent?: boolean | undefined) => void;
576
- unset: (key: string, silent?: boolean | undefined) => void;
577
- changed: () => void;
578
- getRevision: () => number;
579
- addEventListener: (type: string, listener: import('ol/events').Listener) => void;
580
- dispatchEvent: (event: string | import('ol/events/Event').default) => boolean | undefined;
581
- getListeners: (type: string) => import('ol/events').Listener[] | undefined;
582
- hasListener: (type?: string | undefined) => boolean;
583
- removeEventListener: (type: string, listener: import('ol/events').Listener) => void;
584
- dispose: () => void;
585
- } | undefined;
509
+ source?: any;
586
510
  layer?: {
587
511
  on: import('ol/layer/Layer').LayerOnSignature<import('ol/events').EventsKey>;
588
512
  once: import('ol/layer/Layer').LayerOnSignature<import('ol/events').EventsKey>;
@@ -810,6 +734,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
810
734
  value: any;
811
735
  }[] | undefined;
812
736
  } | undefined;
737
+ supermapConfig?: {
738
+ queryMethod?: "point" | "buffer" | undefined;
739
+ bufferDistance?: number | undefined;
740
+ datasetNames?: string[] | undefined;
741
+ featureServiceUrl?: string | undefined;
742
+ } | undefined;
813
743
  clusterDistance?: number | undefined;
814
744
  minDistance?: number | undefined;
815
745
  heatmapBlur?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"LayerPanel.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CustomOpenlayer/components/dialogs/LayerPanel.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LayerPanel.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CustomOpenlayer/components/dialogs/LayerPanel.vue"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Layer } from 'ol/layer';
2
- import { Source } from 'ol/source';
3
2
  import { ColorLike } from 'ol/colorlike';
4
3
  import { PopupManagerConfig } from '../components/MapPopup/types';
5
4
 
@@ -239,7 +238,7 @@ export interface LayerConfig {
239
238
  visible: boolean;
240
239
  opacity: number;
241
240
  zIndex: number;
242
- source?: Source;
241
+ source?: any;
243
242
  layer?: Layer;
244
243
  legend?: LegendConfig;
245
244
  metadata?: Record<string, any>;
@@ -283,6 +282,12 @@ export interface LayerConfig {
283
282
  geometryName?: string;
284
283
  filters?: WFSRequestFilter[];
285
284
  };
285
+ supermapConfig?: {
286
+ queryMethod?: 'point' | 'buffer';
287
+ bufferDistance?: number;
288
+ datasetNames?: string[];
289
+ featureServiceUrl?: string;
290
+ };
286
291
  clusterDistance?: number;
287
292
  minDistance?: number;
288
293
  heatmapBlur?: number;
@@ -595,6 +600,12 @@ export interface MapConfig {
595
600
  view?: MapViewConfig;
596
601
  /** 图层配置 */
597
602
  layers?: LayerConfig[];
603
+ /** 底图配置 */
604
+ baseLayers?: LayerConfig[];
605
+ /** 叠加图层配置 */
606
+ overlayLayers?: LayerConfig[];
607
+ /** 矢量图层配置 */
608
+ vectorLayers?: LayerConfig[];
598
609
  /** 地图控件配置 */
599
610
  controls?: MapControlsConfig;
600
611
  /** tooltip配置 */