map-ol-utils 0.0.28 → 0.0.30
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/dist/index.cjs +57 -25
- package/dist/index.d.cts +6 -8
- package/dist/index.d.ts +6 -8
- package/dist/index.js +57 -25
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -132,7 +132,6 @@ var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function*
|
|
|
132
132
|
format: format || "image/png",
|
|
133
133
|
matrixSet: matrixSet || "EPSG:4326"
|
|
134
134
|
});
|
|
135
|
-
console.log(options);
|
|
136
135
|
if (options) {
|
|
137
136
|
resolve(
|
|
138
137
|
new import_Tile.default({
|
|
@@ -220,7 +219,7 @@ var resetActiveVector = () => {
|
|
|
220
219
|
});
|
|
221
220
|
};
|
|
222
221
|
var assembleGeoJson = (dataList, config) => {
|
|
223
|
-
const { key, isLine } = config;
|
|
222
|
+
const { key, isLine, needTransform = true } = config;
|
|
224
223
|
const tempList = [];
|
|
225
224
|
dataList.forEach((item) => {
|
|
226
225
|
try {
|
|
@@ -239,10 +238,18 @@ var assembleGeoJson = (dataList, config) => {
|
|
|
239
238
|
console.error(`\u521B\u5EFA\u7EBF\u72B6\u6570\u636E\u5931\u8D25\uFF1A${e}`);
|
|
240
239
|
}
|
|
241
240
|
});
|
|
242
|
-
return import_gcoord.default.transform({ type: "FeatureCollection", features: tempList }, import_gcoord.default.GCJ02, import_gcoord.default.WGS84);
|
|
241
|
+
return !needTransform ? { type: "FeatureCollection", features: tempList } : import_gcoord.default.transform({ type: "FeatureCollection", features: tempList }, import_gcoord.default.GCJ02, import_gcoord.default.WGS84);
|
|
243
242
|
};
|
|
244
243
|
var createVectorStyle = (data, config) => {
|
|
245
|
-
const {
|
|
244
|
+
const {
|
|
245
|
+
isLine,
|
|
246
|
+
colorMap,
|
|
247
|
+
fillColor,
|
|
248
|
+
colorKey,
|
|
249
|
+
strokeColor,
|
|
250
|
+
strokeWeight,
|
|
251
|
+
fillOpacity
|
|
252
|
+
} = config || {};
|
|
246
253
|
const style = new import_style.Style({
|
|
247
254
|
stroke: new import_style.Stroke({
|
|
248
255
|
width: strokeWeight,
|
|
@@ -252,14 +259,17 @@ var createVectorStyle = (data, config) => {
|
|
|
252
259
|
if (!isLine) {
|
|
253
260
|
style.setFill(
|
|
254
261
|
new import_style.Fill({
|
|
255
|
-
color: hexToRgba(
|
|
262
|
+
color: hexToRgba(
|
|
263
|
+
(colorKey ? (colorMap == null ? void 0 : colorMap.get(data[colorKey])) || fillColor : fillColor) || "",
|
|
264
|
+
fillOpacity || 1
|
|
265
|
+
)
|
|
256
266
|
})
|
|
257
267
|
);
|
|
258
268
|
}
|
|
259
269
|
return style;
|
|
260
270
|
};
|
|
261
271
|
var createBusinessLayer = (dataList, config) => {
|
|
262
|
-
const { layerName } = config
|
|
272
|
+
const { layerName } = config;
|
|
263
273
|
const geoJson = assembleGeoJson(dataList, config);
|
|
264
274
|
const vectorLayer = new import_Vector.default({
|
|
265
275
|
zIndex: 5,
|
|
@@ -271,7 +281,10 @@ var createBusinessLayer = (dataList, config) => {
|
|
|
271
281
|
})
|
|
272
282
|
})
|
|
273
283
|
});
|
|
274
|
-
vectorLayer.
|
|
284
|
+
vectorLayer.setProperties({
|
|
285
|
+
_layerName: layerName,
|
|
286
|
+
_dataList: [...dataList]
|
|
287
|
+
});
|
|
275
288
|
return vectorLayer;
|
|
276
289
|
};
|
|
277
290
|
var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: false }));
|
|
@@ -289,7 +302,7 @@ var removeAllLayers = (isClearAll = true) => {
|
|
|
289
302
|
};
|
|
290
303
|
var resetActiveMarker = () => {
|
|
291
304
|
removeOverlays();
|
|
292
|
-
const massMarksLayers = instance.
|
|
305
|
+
const massMarksLayers = instance.getAllLayers().filter((layer) => layer.get("_isMassMarksLayer"));
|
|
293
306
|
massMarksLayers.forEach((layer) => {
|
|
294
307
|
const selectInteraction = layer.get("_selectInteraction");
|
|
295
308
|
if (selectInteraction) {
|
|
@@ -312,11 +325,15 @@ var activeMarkerByUid = (uid) => {
|
|
|
312
325
|
);
|
|
313
326
|
if (targetLayer) {
|
|
314
327
|
const tempList = ((_a = targetLayer.getSource()) == null ? void 0 : _a.getFeatures()) || [];
|
|
315
|
-
const targetFeature = tempList.find(
|
|
328
|
+
const targetFeature = tempList.find(
|
|
329
|
+
(feature) => feature.get("_uuid") === uid
|
|
330
|
+
);
|
|
316
331
|
const selectInteraction = targetLayer.get("_selectInteraction");
|
|
317
332
|
if (selectInteraction) {
|
|
318
333
|
const collection = selectInteraction.getFeatures().getArray();
|
|
319
|
-
const hasFeature = collection.find(
|
|
334
|
+
const hasFeature = collection.find(
|
|
335
|
+
(feature) => feature.get("_uuid") === uid
|
|
336
|
+
);
|
|
320
337
|
if (!hasFeature) {
|
|
321
338
|
selectInteraction.dispatchEvent({
|
|
322
339
|
type: "select",
|
|
@@ -411,7 +428,11 @@ var createSelectByLayer = (vectorLayer) => {
|
|
|
411
428
|
}, 1e3);
|
|
412
429
|
}
|
|
413
430
|
const view = instance.getView();
|
|
414
|
-
view.animate({
|
|
431
|
+
view.animate({
|
|
432
|
+
zoom: 12,
|
|
433
|
+
center: [+data.lnglat[0], +data.lnglat[1]],
|
|
434
|
+
duration: 1e3
|
|
435
|
+
});
|
|
415
436
|
}
|
|
416
437
|
if (deselected.length) {
|
|
417
438
|
const feature = deselected[0];
|
|
@@ -475,22 +496,28 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
475
496
|
createSelectByLayer(massMarksLayer);
|
|
476
497
|
}
|
|
477
498
|
if (hasLine) {
|
|
478
|
-
const vectorLayer = createBusinessLayer(
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
499
|
+
const vectorLayer = createBusinessLayer(
|
|
500
|
+
dataList,
|
|
501
|
+
vectorConfig || {
|
|
502
|
+
key: "line",
|
|
503
|
+
isLine: true,
|
|
504
|
+
strokeColor: "rgba(29, 235, 255, 0.8)"
|
|
505
|
+
}
|
|
506
|
+
);
|
|
483
507
|
instance.addLayer(vectorLayer);
|
|
484
508
|
}
|
|
485
509
|
if (hasFace) {
|
|
486
|
-
const vectorLayer = createBusinessLayer(
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
510
|
+
const vectorLayer = createBusinessLayer(
|
|
511
|
+
dataList,
|
|
512
|
+
vectorConfig || {
|
|
513
|
+
isLine: false,
|
|
514
|
+
key: "faceList",
|
|
515
|
+
fillColor: "#4247DF",
|
|
516
|
+
strokeWeight: 1,
|
|
517
|
+
strokeStyle: "dashed",
|
|
518
|
+
strokeColor: "#4247DF"
|
|
519
|
+
}
|
|
520
|
+
);
|
|
494
521
|
instance.addLayer(vectorLayer);
|
|
495
522
|
}
|
|
496
523
|
massMarksLayer.setProperties({
|
|
@@ -601,7 +628,12 @@ var createBaseLayer = (isDark = true) => {
|
|
|
601
628
|
134089306640625e-20
|
|
602
629
|
],
|
|
603
630
|
origin: [118.125614083886, 31.2857011022836],
|
|
604
|
-
extent: [
|
|
631
|
+
extent: [
|
|
632
|
+
118.340502132662,
|
|
633
|
+
29.2073269598186,
|
|
634
|
+
120.724787992425,
|
|
635
|
+
30.5617943760008
|
|
636
|
+
]
|
|
605
637
|
}),
|
|
606
638
|
projection: "EPSG:4326",
|
|
607
639
|
urls: isDark ? [
|
package/dist/index.d.cts
CHANGED
|
@@ -32,6 +32,7 @@ type VectorConfig = {
|
|
|
32
32
|
strokeColor?: string;
|
|
33
33
|
strokeStyle?: string;
|
|
34
34
|
strokeWeight?: number;
|
|
35
|
+
needTransform?: boolean;
|
|
35
36
|
colorMap?: Map<string, string>;
|
|
36
37
|
};
|
|
37
38
|
type IconConfig = {
|
|
@@ -63,13 +64,6 @@ type MassData = {
|
|
|
63
64
|
}[];
|
|
64
65
|
lnglat: [string, string] | [number, number];
|
|
65
66
|
};
|
|
66
|
-
type MassMarkersStyleOptions = {
|
|
67
|
-
url: string;
|
|
68
|
-
zIndex?: number;
|
|
69
|
-
rotation: number;
|
|
70
|
-
size: [number, number];
|
|
71
|
-
anchor?: [number, number];
|
|
72
|
-
};
|
|
73
67
|
type WmtsSourceOptions = {
|
|
74
68
|
style?: string;
|
|
75
69
|
format?: string;
|
|
@@ -80,6 +74,10 @@ type WmtsSourceOptions = {
|
|
|
80
74
|
|
|
81
75
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
82
76
|
|
|
77
|
+
/**
|
|
78
|
+
* 创建WMTS图层
|
|
79
|
+
* @param serverUrl
|
|
80
|
+
*/
|
|
83
81
|
declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions) => Promise<TileLayer>;
|
|
84
82
|
|
|
85
83
|
/**
|
|
@@ -162,4 +160,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
162
160
|
*/
|
|
163
161
|
declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => void;
|
|
164
162
|
|
|
165
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type
|
|
163
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
package/dist/index.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ type VectorConfig = {
|
|
|
32
32
|
strokeColor?: string;
|
|
33
33
|
strokeStyle?: string;
|
|
34
34
|
strokeWeight?: number;
|
|
35
|
+
needTransform?: boolean;
|
|
35
36
|
colorMap?: Map<string, string>;
|
|
36
37
|
};
|
|
37
38
|
type IconConfig = {
|
|
@@ -63,13 +64,6 @@ type MassData = {
|
|
|
63
64
|
}[];
|
|
64
65
|
lnglat: [string, string] | [number, number];
|
|
65
66
|
};
|
|
66
|
-
type MassMarkersStyleOptions = {
|
|
67
|
-
url: string;
|
|
68
|
-
zIndex?: number;
|
|
69
|
-
rotation: number;
|
|
70
|
-
size: [number, number];
|
|
71
|
-
anchor?: [number, number];
|
|
72
|
-
};
|
|
73
67
|
type WmtsSourceOptions = {
|
|
74
68
|
style?: string;
|
|
75
69
|
format?: string;
|
|
@@ -80,6 +74,10 @@ type WmtsSourceOptions = {
|
|
|
80
74
|
|
|
81
75
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
82
76
|
|
|
77
|
+
/**
|
|
78
|
+
* 创建WMTS图层
|
|
79
|
+
* @param serverUrl
|
|
80
|
+
*/
|
|
83
81
|
declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions) => Promise<TileLayer>;
|
|
84
82
|
|
|
85
83
|
/**
|
|
@@ -162,4 +160,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
162
160
|
*/
|
|
163
161
|
declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => void;
|
|
164
162
|
|
|
165
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type
|
|
163
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
package/dist/index.js
CHANGED
|
@@ -77,7 +77,6 @@ var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function*
|
|
|
77
77
|
format: format || "image/png",
|
|
78
78
|
matrixSet: matrixSet || "EPSG:4326"
|
|
79
79
|
});
|
|
80
|
-
console.log(options);
|
|
81
80
|
if (options) {
|
|
82
81
|
resolve(
|
|
83
82
|
new TileLayer({
|
|
@@ -165,7 +164,7 @@ var resetActiveVector = () => {
|
|
|
165
164
|
});
|
|
166
165
|
};
|
|
167
166
|
var assembleGeoJson = (dataList, config) => {
|
|
168
|
-
const { key, isLine } = config;
|
|
167
|
+
const { key, isLine, needTransform = true } = config;
|
|
169
168
|
const tempList = [];
|
|
170
169
|
dataList.forEach((item) => {
|
|
171
170
|
try {
|
|
@@ -184,10 +183,18 @@ var assembleGeoJson = (dataList, config) => {
|
|
|
184
183
|
console.error(`\u521B\u5EFA\u7EBF\u72B6\u6570\u636E\u5931\u8D25\uFF1A${e}`);
|
|
185
184
|
}
|
|
186
185
|
});
|
|
187
|
-
return gcoord.transform({ type: "FeatureCollection", features: tempList }, gcoord.GCJ02, gcoord.WGS84);
|
|
186
|
+
return !needTransform ? { type: "FeatureCollection", features: tempList } : gcoord.transform({ type: "FeatureCollection", features: tempList }, gcoord.GCJ02, gcoord.WGS84);
|
|
188
187
|
};
|
|
189
188
|
var createVectorStyle = (data, config) => {
|
|
190
|
-
const {
|
|
189
|
+
const {
|
|
190
|
+
isLine,
|
|
191
|
+
colorMap,
|
|
192
|
+
fillColor,
|
|
193
|
+
colorKey,
|
|
194
|
+
strokeColor,
|
|
195
|
+
strokeWeight,
|
|
196
|
+
fillOpacity
|
|
197
|
+
} = config || {};
|
|
191
198
|
const style = new Style({
|
|
192
199
|
stroke: new Stroke({
|
|
193
200
|
width: strokeWeight,
|
|
@@ -197,14 +204,17 @@ var createVectorStyle = (data, config) => {
|
|
|
197
204
|
if (!isLine) {
|
|
198
205
|
style.setFill(
|
|
199
206
|
new Fill({
|
|
200
|
-
color: hexToRgba(
|
|
207
|
+
color: hexToRgba(
|
|
208
|
+
(colorKey ? (colorMap == null ? void 0 : colorMap.get(data[colorKey])) || fillColor : fillColor) || "",
|
|
209
|
+
fillOpacity || 1
|
|
210
|
+
)
|
|
201
211
|
})
|
|
202
212
|
);
|
|
203
213
|
}
|
|
204
214
|
return style;
|
|
205
215
|
};
|
|
206
216
|
var createBusinessLayer = (dataList, config) => {
|
|
207
|
-
const { layerName } = config
|
|
217
|
+
const { layerName } = config;
|
|
208
218
|
const geoJson = assembleGeoJson(dataList, config);
|
|
209
219
|
const vectorLayer = new VectorLayer({
|
|
210
220
|
zIndex: 5,
|
|
@@ -216,7 +226,10 @@ var createBusinessLayer = (dataList, config) => {
|
|
|
216
226
|
})
|
|
217
227
|
})
|
|
218
228
|
});
|
|
219
|
-
vectorLayer.
|
|
229
|
+
vectorLayer.setProperties({
|
|
230
|
+
_layerName: layerName,
|
|
231
|
+
_dataList: [...dataList]
|
|
232
|
+
});
|
|
220
233
|
return vectorLayer;
|
|
221
234
|
};
|
|
222
235
|
var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: false }));
|
|
@@ -234,7 +247,7 @@ var removeAllLayers = (isClearAll = true) => {
|
|
|
234
247
|
};
|
|
235
248
|
var resetActiveMarker = () => {
|
|
236
249
|
removeOverlays();
|
|
237
|
-
const massMarksLayers = instance.
|
|
250
|
+
const massMarksLayers = instance.getAllLayers().filter((layer) => layer.get("_isMassMarksLayer"));
|
|
238
251
|
massMarksLayers.forEach((layer) => {
|
|
239
252
|
const selectInteraction = layer.get("_selectInteraction");
|
|
240
253
|
if (selectInteraction) {
|
|
@@ -257,11 +270,15 @@ var activeMarkerByUid = (uid) => {
|
|
|
257
270
|
);
|
|
258
271
|
if (targetLayer) {
|
|
259
272
|
const tempList = ((_a = targetLayer.getSource()) == null ? void 0 : _a.getFeatures()) || [];
|
|
260
|
-
const targetFeature = tempList.find(
|
|
273
|
+
const targetFeature = tempList.find(
|
|
274
|
+
(feature) => feature.get("_uuid") === uid
|
|
275
|
+
);
|
|
261
276
|
const selectInteraction = targetLayer.get("_selectInteraction");
|
|
262
277
|
if (selectInteraction) {
|
|
263
278
|
const collection = selectInteraction.getFeatures().getArray();
|
|
264
|
-
const hasFeature = collection.find(
|
|
279
|
+
const hasFeature = collection.find(
|
|
280
|
+
(feature) => feature.get("_uuid") === uid
|
|
281
|
+
);
|
|
265
282
|
if (!hasFeature) {
|
|
266
283
|
selectInteraction.dispatchEvent({
|
|
267
284
|
type: "select",
|
|
@@ -356,7 +373,11 @@ var createSelectByLayer = (vectorLayer) => {
|
|
|
356
373
|
}, 1e3);
|
|
357
374
|
}
|
|
358
375
|
const view = instance.getView();
|
|
359
|
-
view.animate({
|
|
376
|
+
view.animate({
|
|
377
|
+
zoom: 12,
|
|
378
|
+
center: [+data.lnglat[0], +data.lnglat[1]],
|
|
379
|
+
duration: 1e3
|
|
380
|
+
});
|
|
360
381
|
}
|
|
361
382
|
if (deselected.length) {
|
|
362
383
|
const feature = deselected[0];
|
|
@@ -420,22 +441,28 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
420
441
|
createSelectByLayer(massMarksLayer);
|
|
421
442
|
}
|
|
422
443
|
if (hasLine) {
|
|
423
|
-
const vectorLayer = createBusinessLayer(
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
444
|
+
const vectorLayer = createBusinessLayer(
|
|
445
|
+
dataList,
|
|
446
|
+
vectorConfig || {
|
|
447
|
+
key: "line",
|
|
448
|
+
isLine: true,
|
|
449
|
+
strokeColor: "rgba(29, 235, 255, 0.8)"
|
|
450
|
+
}
|
|
451
|
+
);
|
|
428
452
|
instance.addLayer(vectorLayer);
|
|
429
453
|
}
|
|
430
454
|
if (hasFace) {
|
|
431
|
-
const vectorLayer = createBusinessLayer(
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
455
|
+
const vectorLayer = createBusinessLayer(
|
|
456
|
+
dataList,
|
|
457
|
+
vectorConfig || {
|
|
458
|
+
isLine: false,
|
|
459
|
+
key: "faceList",
|
|
460
|
+
fillColor: "#4247DF",
|
|
461
|
+
strokeWeight: 1,
|
|
462
|
+
strokeStyle: "dashed",
|
|
463
|
+
strokeColor: "#4247DF"
|
|
464
|
+
}
|
|
465
|
+
);
|
|
439
466
|
instance.addLayer(vectorLayer);
|
|
440
467
|
}
|
|
441
468
|
massMarksLayer.setProperties({
|
|
@@ -546,7 +573,12 @@ var createBaseLayer = (isDark = true) => {
|
|
|
546
573
|
134089306640625e-20
|
|
547
574
|
],
|
|
548
575
|
origin: [118.125614083886, 31.2857011022836],
|
|
549
|
-
extent: [
|
|
576
|
+
extent: [
|
|
577
|
+
118.340502132662,
|
|
578
|
+
29.2073269598186,
|
|
579
|
+
120.724787992425,
|
|
580
|
+
30.5617943760008
|
|
581
|
+
]
|
|
550
582
|
}),
|
|
551
583
|
projection: "EPSG:4326",
|
|
552
584
|
urls: isDark ? [
|