map-ol-utils 0.0.20 → 0.0.22
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 +37 -30
- package/dist/index.d.cts +35 -32
- package/dist/index.d.ts +35 -32
- package/dist/index.js +36 -29
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -72,7 +72,7 @@ __export(index_exports, {
|
|
|
72
72
|
buildMassMarksStyles: () => buildMassMarksStyles,
|
|
73
73
|
createAnimationMarker: () => createAnimationMarker,
|
|
74
74
|
createBaseLayer: () => createBaseLayer,
|
|
75
|
-
|
|
75
|
+
createBusinessLayer: () => createBusinessLayer,
|
|
76
76
|
createMapInstance: () => createMapInstance,
|
|
77
77
|
createMapWorldLayer: () => createMapWorldLayer,
|
|
78
78
|
createMassMarksLayer: () => createMassMarksLayer,
|
|
@@ -119,15 +119,18 @@ var getCapabilities = (url) => {
|
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
121
|
};
|
|
122
|
-
var createWmtsLayer = (serverUrl) => (
|
|
122
|
+
var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function* () {
|
|
123
|
+
const { style, format, version, layerName, matrixSet } = config;
|
|
123
124
|
const [workspace, datastore] = layerName.split(":");
|
|
124
125
|
const capabilitiesUrl = `${serverUrl}/${workspace}/${datastore}/gwc/service/wmts?request=GetCapabilities`;
|
|
125
126
|
return new Promise((resolve, reject) => {
|
|
126
127
|
getCapabilities(capabilitiesUrl).then((data) => {
|
|
127
128
|
const options = (0, import_WMTS.optionsFromCapabilities)(data, {
|
|
129
|
+
Style: style || "",
|
|
128
130
|
layer: datastore,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
version: version || "1.1.0",
|
|
132
|
+
format: format || "image/png",
|
|
133
|
+
matrixSet: matrixSet || "EPSG:4326"
|
|
131
134
|
});
|
|
132
135
|
console.log(options);
|
|
133
136
|
if (options) {
|
|
@@ -219,36 +222,40 @@ var assembleGeoJson = (dataList, config) => {
|
|
|
219
222
|
});
|
|
220
223
|
return { type: "FeatureCollection", features: tempList };
|
|
221
224
|
};
|
|
222
|
-
var
|
|
223
|
-
const { isLine,
|
|
225
|
+
var createVectorStyle = (data, config) => {
|
|
226
|
+
const { isLine, colorMap, fillColor, colorKey, strokeColor, strokeWeight } = config || {};
|
|
227
|
+
const style = new import_style.Style({
|
|
228
|
+
stroke: new import_style.Stroke({
|
|
229
|
+
width: strokeWeight,
|
|
230
|
+
color: colorKey ? (colorMap == null ? void 0 : colorMap.get(data[colorKey])) || strokeColor : strokeColor
|
|
231
|
+
})
|
|
232
|
+
});
|
|
233
|
+
if (!isLine) {
|
|
234
|
+
style.setFill(
|
|
235
|
+
new import_style.Fill({
|
|
236
|
+
color: colorKey ? (colorMap == null ? void 0 : colorMap.get(data[colorKey])) || fillColor : fillColor
|
|
237
|
+
})
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
return style;
|
|
241
|
+
};
|
|
242
|
+
var createBusinessLayer = (dataList, config) => {
|
|
243
|
+
const { layerName } = config || {};
|
|
224
244
|
const geoJson = assembleGeoJson(dataList, config);
|
|
225
245
|
const vectorLayer = new import_Vector.default({
|
|
226
246
|
className: layerName ? layerName : "ol-layer",
|
|
227
247
|
source: new import_Vector2.default({
|
|
228
|
-
features: new import_format2.GeoJSON().readFeatures(geoJson)
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
stroke: new import_style.Stroke({
|
|
232
|
-
color: "red",
|
|
233
|
-
lineDash: [10],
|
|
234
|
-
width: 3
|
|
235
|
-
})
|
|
236
|
-
}) : new import_style.Style({
|
|
237
|
-
stroke: new import_style.Stroke({
|
|
238
|
-
color: "red",
|
|
239
|
-
lineDash: [10],
|
|
240
|
-
width: 3
|
|
241
|
-
}),
|
|
242
|
-
fill: new import_style.Fill({
|
|
243
|
-
color: "rgba(0, 0, 255, 0.1)"
|
|
248
|
+
features: new import_format2.GeoJSON().readFeatures(geoJson).map((feature) => {
|
|
249
|
+
feature.setStyle(createVectorStyle(feature.getProperties(), config));
|
|
250
|
+
return feature;
|
|
244
251
|
})
|
|
245
252
|
})
|
|
246
253
|
});
|
|
247
254
|
vectorLayer.set("_layerName", layerName);
|
|
248
255
|
return vectorLayer;
|
|
249
256
|
};
|
|
250
|
-
var createVectorFaceLayer = (dataList = [], config) =>
|
|
251
|
-
var createVectorLineLayer = (dataList = [], config) =>
|
|
257
|
+
var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: false }));
|
|
258
|
+
var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: true }));
|
|
252
259
|
var removeAllLayers = (isClearAll = true) => {
|
|
253
260
|
removeOverlays();
|
|
254
261
|
console.log(isClearAll);
|
|
@@ -419,7 +426,7 @@ var createMassMarksLayer = (dataList, styleList = []) => {
|
|
|
419
426
|
_isCustom: true,
|
|
420
427
|
_isMassMarksLayer: true,
|
|
421
428
|
_statusNum: styleList.length / 2,
|
|
422
|
-
_dataList: dataList,
|
|
429
|
+
_dataList: [...dataList],
|
|
423
430
|
_uuidSet: new Set(dataList.map((item) => item._uuid) || [])
|
|
424
431
|
});
|
|
425
432
|
return vectorLayer;
|
|
@@ -433,7 +440,8 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
433
440
|
isDynamic,
|
|
434
441
|
statusNum,
|
|
435
442
|
markerIcon,
|
|
436
|
-
markerSize
|
|
443
|
+
markerSize,
|
|
444
|
+
vectorConfig
|
|
437
445
|
} = iconConfig;
|
|
438
446
|
const massMarksStyles = buildMassMarksStyles(getImgUrlFn)({
|
|
439
447
|
baseUrl,
|
|
@@ -447,7 +455,7 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
447
455
|
createSelectByLayer(massMarksLayer);
|
|
448
456
|
}
|
|
449
457
|
if (hasLine) {
|
|
450
|
-
const vectorLayer =
|
|
458
|
+
const vectorLayer = createBusinessLayer(dataList, vectorConfig ? vectorConfig : {
|
|
451
459
|
key: "line",
|
|
452
460
|
isLine: true,
|
|
453
461
|
strokeColor: "rgba(29, 235, 255, 0.8)"
|
|
@@ -455,10 +463,9 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
455
463
|
instance.addLayer(vectorLayer);
|
|
456
464
|
}
|
|
457
465
|
if (hasFace) {
|
|
458
|
-
const vectorLayer =
|
|
466
|
+
const vectorLayer = createBusinessLayer(dataList, vectorConfig ? vectorConfig : {
|
|
459
467
|
isLine: false,
|
|
460
468
|
key: "faceList",
|
|
461
|
-
fillOpacity: 0.1,
|
|
462
469
|
fillColor: "#4247DF",
|
|
463
470
|
strokeWeight: 1,
|
|
464
471
|
strokeStyle: "dashed",
|
|
@@ -683,7 +690,7 @@ var changeLayersByNames = (activeNames, allLayerNames) => {
|
|
|
683
690
|
buildMassMarksStyles,
|
|
684
691
|
createAnimationMarker,
|
|
685
692
|
createBaseLayer,
|
|
686
|
-
|
|
693
|
+
createBusinessLayer,
|
|
687
694
|
createMapInstance,
|
|
688
695
|
createMapWorldLayer,
|
|
689
696
|
createMassMarksLayer,
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Map, Feature } from 'ol';
|
|
2
1
|
import { Layer, Tile } from 'ol/layer';
|
|
2
|
+
import { Map as Map$1, Feature } from 'ol';
|
|
3
3
|
import { Source, XYZ, WMTS } from 'ol/source';
|
|
4
4
|
import { Emitter, EventType } from 'mitt';
|
|
5
5
|
import TileLayer from 'ol/layer/Tile';
|
|
@@ -10,7 +10,7 @@ import VectorLayer from 'ol/layer/Vector';
|
|
|
10
10
|
import { StyleLike } from 'ol/style/Style';
|
|
11
11
|
import VectorSource from 'ol/source/Vector';
|
|
12
12
|
|
|
13
|
-
interface CustomMap extends Map {
|
|
13
|
+
interface CustomMap extends Map$1 {
|
|
14
14
|
activeBaseLayer?: string;
|
|
15
15
|
changeBaseLayer?: () => void;
|
|
16
16
|
removeLayerByName?: (name: string) => void;
|
|
@@ -19,53 +19,49 @@ interface CustomMap extends Map {
|
|
|
19
19
|
}
|
|
20
20
|
type GetImgUrl = (name: string, ext?: string) => string;
|
|
21
21
|
type GetImgUrlFn = (baseUrl: string) => GetImgUrl;
|
|
22
|
-
type LayerConfig = {
|
|
23
|
-
zIndex?: number;
|
|
24
|
-
visible?: boolean;
|
|
25
|
-
minZoom?: number;
|
|
26
|
-
maxZoom?: number;
|
|
27
|
-
layerName: string;
|
|
28
|
-
};
|
|
29
22
|
type VectorConfig = {
|
|
30
23
|
key: string;
|
|
31
24
|
zIndex?: number;
|
|
32
25
|
isRaw?: boolean;
|
|
33
26
|
isLine: boolean;
|
|
27
|
+
colorKey?: string;
|
|
34
28
|
layerName?: string;
|
|
35
29
|
openClick?: boolean;
|
|
36
30
|
fillColor?: string;
|
|
37
|
-
fillOpacity?: number;
|
|
38
31
|
strokeColor?: string;
|
|
39
32
|
strokeStyle?: string;
|
|
40
33
|
strokeWeight?: number;
|
|
41
|
-
|
|
42
|
-
type LineConfig = {
|
|
43
|
-
key: string;
|
|
44
|
-
width?: number;
|
|
45
|
-
isRaw?: boolean;
|
|
46
|
-
openClick?: boolean;
|
|
47
|
-
strokeColor?: string;
|
|
48
|
-
strokeStyle?: string;
|
|
49
|
-
};
|
|
50
|
-
type MassData = {
|
|
51
|
-
style: number;
|
|
52
|
-
_uuid?: string;
|
|
53
|
-
width?: number;
|
|
54
|
-
height?: number;
|
|
55
|
-
status?: number | string | undefined;
|
|
56
|
-
_status?: number | string | undefined;
|
|
57
|
-
lnglat: [string, string] | [number, number];
|
|
34
|
+
colorMap?: Map<string, string>;
|
|
58
35
|
};
|
|
59
36
|
type IconConfig = {
|
|
60
37
|
baseUrl: string;
|
|
61
38
|
hasLine?: boolean;
|
|
62
39
|
hasFace?: boolean;
|
|
63
|
-
statusNum
|
|
40
|
+
statusNum?: number;
|
|
64
41
|
isDynamic?: boolean;
|
|
65
42
|
markerIcon: string;
|
|
66
43
|
activeScale?: number;
|
|
44
|
+
vectorConfig?: VectorConfig;
|
|
67
45
|
markerSize: [number, number];
|
|
68
46
|
};
|
|
47
|
+
type MassData = {
|
|
48
|
+
_uuid?: string;
|
|
49
|
+
id: string;
|
|
50
|
+
style: number;
|
|
51
|
+
name: string;
|
|
52
|
+
status: string;
|
|
53
|
+
width?: number;
|
|
54
|
+
height?: number;
|
|
55
|
+
itemName: string;
|
|
56
|
+
rawData: {
|
|
57
|
+
[key: string]: any;
|
|
58
|
+
};
|
|
59
|
+
imgList: {
|
|
60
|
+
text: string;
|
|
61
|
+
icon: string;
|
|
62
|
+
}[];
|
|
63
|
+
lnglat: [string, string] | [number, number];
|
|
64
|
+
};
|
|
69
65
|
type MassMarkersStyleOptions = {
|
|
70
66
|
url: string;
|
|
71
67
|
zIndex?: number;
|
|
@@ -73,10 +69,17 @@ type MassMarkersStyleOptions = {
|
|
|
73
69
|
size: [number, number];
|
|
74
70
|
anchor?: [number, number];
|
|
75
71
|
};
|
|
72
|
+
type WmtsSourceOptions = {
|
|
73
|
+
style?: string;
|
|
74
|
+
format?: string;
|
|
75
|
+
version?: string;
|
|
76
|
+
layerName: string;
|
|
77
|
+
matrixSet?: string;
|
|
78
|
+
};
|
|
76
79
|
|
|
77
80
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
78
81
|
|
|
79
|
-
declare const createWmtsLayer: (serverUrl: string) => (
|
|
82
|
+
declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions) => Promise<TileLayer>;
|
|
80
83
|
|
|
81
84
|
/**
|
|
82
85
|
* 创建杭州规自地图
|
|
@@ -105,7 +108,7 @@ declare const createAnimationMarker: (imgUrl: string, data: MassData) => void;
|
|
|
105
108
|
* 重置激活的矢量数据
|
|
106
109
|
*/
|
|
107
110
|
declare const resetActiveVector: () => void;
|
|
108
|
-
declare const
|
|
111
|
+
declare const createBusinessLayer: (dataList: any, config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
|
|
109
112
|
/**
|
|
110
113
|
* 创建面状数据
|
|
111
114
|
* @param dataList
|
|
@@ -156,6 +159,6 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
156
159
|
* 更新图层根据选中状态列表
|
|
157
160
|
* @param checkedStatusList
|
|
158
161
|
*/
|
|
159
|
-
declare const updateMarksLayersByStatus: (checkedStatusList?:
|
|
162
|
+
declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => void;
|
|
160
163
|
|
|
161
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type
|
|
164
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type MassMarkersStyleOptions, 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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Map, Feature } from 'ol';
|
|
2
1
|
import { Layer, Tile } from 'ol/layer';
|
|
2
|
+
import { Map as Map$1, Feature } from 'ol';
|
|
3
3
|
import { Source, XYZ, WMTS } from 'ol/source';
|
|
4
4
|
import { Emitter, EventType } from 'mitt';
|
|
5
5
|
import TileLayer from 'ol/layer/Tile';
|
|
@@ -10,7 +10,7 @@ import VectorLayer from 'ol/layer/Vector';
|
|
|
10
10
|
import { StyleLike } from 'ol/style/Style';
|
|
11
11
|
import VectorSource from 'ol/source/Vector';
|
|
12
12
|
|
|
13
|
-
interface CustomMap extends Map {
|
|
13
|
+
interface CustomMap extends Map$1 {
|
|
14
14
|
activeBaseLayer?: string;
|
|
15
15
|
changeBaseLayer?: () => void;
|
|
16
16
|
removeLayerByName?: (name: string) => void;
|
|
@@ -19,53 +19,49 @@ interface CustomMap extends Map {
|
|
|
19
19
|
}
|
|
20
20
|
type GetImgUrl = (name: string, ext?: string) => string;
|
|
21
21
|
type GetImgUrlFn = (baseUrl: string) => GetImgUrl;
|
|
22
|
-
type LayerConfig = {
|
|
23
|
-
zIndex?: number;
|
|
24
|
-
visible?: boolean;
|
|
25
|
-
minZoom?: number;
|
|
26
|
-
maxZoom?: number;
|
|
27
|
-
layerName: string;
|
|
28
|
-
};
|
|
29
22
|
type VectorConfig = {
|
|
30
23
|
key: string;
|
|
31
24
|
zIndex?: number;
|
|
32
25
|
isRaw?: boolean;
|
|
33
26
|
isLine: boolean;
|
|
27
|
+
colorKey?: string;
|
|
34
28
|
layerName?: string;
|
|
35
29
|
openClick?: boolean;
|
|
36
30
|
fillColor?: string;
|
|
37
|
-
fillOpacity?: number;
|
|
38
31
|
strokeColor?: string;
|
|
39
32
|
strokeStyle?: string;
|
|
40
33
|
strokeWeight?: number;
|
|
41
|
-
|
|
42
|
-
type LineConfig = {
|
|
43
|
-
key: string;
|
|
44
|
-
width?: number;
|
|
45
|
-
isRaw?: boolean;
|
|
46
|
-
openClick?: boolean;
|
|
47
|
-
strokeColor?: string;
|
|
48
|
-
strokeStyle?: string;
|
|
49
|
-
};
|
|
50
|
-
type MassData = {
|
|
51
|
-
style: number;
|
|
52
|
-
_uuid?: string;
|
|
53
|
-
width?: number;
|
|
54
|
-
height?: number;
|
|
55
|
-
status?: number | string | undefined;
|
|
56
|
-
_status?: number | string | undefined;
|
|
57
|
-
lnglat: [string, string] | [number, number];
|
|
34
|
+
colorMap?: Map<string, string>;
|
|
58
35
|
};
|
|
59
36
|
type IconConfig = {
|
|
60
37
|
baseUrl: string;
|
|
61
38
|
hasLine?: boolean;
|
|
62
39
|
hasFace?: boolean;
|
|
63
|
-
statusNum
|
|
40
|
+
statusNum?: number;
|
|
64
41
|
isDynamic?: boolean;
|
|
65
42
|
markerIcon: string;
|
|
66
43
|
activeScale?: number;
|
|
44
|
+
vectorConfig?: VectorConfig;
|
|
67
45
|
markerSize: [number, number];
|
|
68
46
|
};
|
|
47
|
+
type MassData = {
|
|
48
|
+
_uuid?: string;
|
|
49
|
+
id: string;
|
|
50
|
+
style: number;
|
|
51
|
+
name: string;
|
|
52
|
+
status: string;
|
|
53
|
+
width?: number;
|
|
54
|
+
height?: number;
|
|
55
|
+
itemName: string;
|
|
56
|
+
rawData: {
|
|
57
|
+
[key: string]: any;
|
|
58
|
+
};
|
|
59
|
+
imgList: {
|
|
60
|
+
text: string;
|
|
61
|
+
icon: string;
|
|
62
|
+
}[];
|
|
63
|
+
lnglat: [string, string] | [number, number];
|
|
64
|
+
};
|
|
69
65
|
type MassMarkersStyleOptions = {
|
|
70
66
|
url: string;
|
|
71
67
|
zIndex?: number;
|
|
@@ -73,10 +69,17 @@ type MassMarkersStyleOptions = {
|
|
|
73
69
|
size: [number, number];
|
|
74
70
|
anchor?: [number, number];
|
|
75
71
|
};
|
|
72
|
+
type WmtsSourceOptions = {
|
|
73
|
+
style?: string;
|
|
74
|
+
format?: string;
|
|
75
|
+
version?: string;
|
|
76
|
+
layerName: string;
|
|
77
|
+
matrixSet?: string;
|
|
78
|
+
};
|
|
76
79
|
|
|
77
80
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
78
81
|
|
|
79
|
-
declare const createWmtsLayer: (serverUrl: string) => (
|
|
82
|
+
declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions) => Promise<TileLayer>;
|
|
80
83
|
|
|
81
84
|
/**
|
|
82
85
|
* 创建杭州规自地图
|
|
@@ -105,7 +108,7 @@ declare const createAnimationMarker: (imgUrl: string, data: MassData) => void;
|
|
|
105
108
|
* 重置激活的矢量数据
|
|
106
109
|
*/
|
|
107
110
|
declare const resetActiveVector: () => void;
|
|
108
|
-
declare const
|
|
111
|
+
declare const createBusinessLayer: (dataList: any, config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
|
|
109
112
|
/**
|
|
110
113
|
* 创建面状数据
|
|
111
114
|
* @param dataList
|
|
@@ -156,6 +159,6 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
156
159
|
* 更新图层根据选中状态列表
|
|
157
160
|
* @param checkedStatusList
|
|
158
161
|
*/
|
|
159
|
-
declare const updateMarksLayersByStatus: (checkedStatusList?:
|
|
162
|
+
declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => void;
|
|
160
163
|
|
|
161
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type
|
|
164
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type MassMarkersStyleOptions, 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
|
@@ -64,15 +64,18 @@ var getCapabilities = (url) => {
|
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
|
-
var createWmtsLayer = (serverUrl) => (
|
|
67
|
+
var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function* () {
|
|
68
|
+
const { style, format, version, layerName, matrixSet } = config;
|
|
68
69
|
const [workspace, datastore] = layerName.split(":");
|
|
69
70
|
const capabilitiesUrl = `${serverUrl}/${workspace}/${datastore}/gwc/service/wmts?request=GetCapabilities`;
|
|
70
71
|
return new Promise((resolve, reject) => {
|
|
71
72
|
getCapabilities(capabilitiesUrl).then((data) => {
|
|
72
73
|
const options = optionsFromCapabilities(data, {
|
|
74
|
+
Style: style || "",
|
|
73
75
|
layer: datastore,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
version: version || "1.1.0",
|
|
77
|
+
format: format || "image/png",
|
|
78
|
+
matrixSet: matrixSet || "EPSG:4326"
|
|
76
79
|
});
|
|
77
80
|
console.log(options);
|
|
78
81
|
if (options) {
|
|
@@ -164,36 +167,40 @@ var assembleGeoJson = (dataList, config) => {
|
|
|
164
167
|
});
|
|
165
168
|
return { type: "FeatureCollection", features: tempList };
|
|
166
169
|
};
|
|
167
|
-
var
|
|
168
|
-
const { isLine,
|
|
170
|
+
var createVectorStyle = (data, config) => {
|
|
171
|
+
const { isLine, colorMap, fillColor, colorKey, strokeColor, strokeWeight } = config || {};
|
|
172
|
+
const style = new Style({
|
|
173
|
+
stroke: new Stroke({
|
|
174
|
+
width: strokeWeight,
|
|
175
|
+
color: colorKey ? (colorMap == null ? void 0 : colorMap.get(data[colorKey])) || strokeColor : strokeColor
|
|
176
|
+
})
|
|
177
|
+
});
|
|
178
|
+
if (!isLine) {
|
|
179
|
+
style.setFill(
|
|
180
|
+
new Fill({
|
|
181
|
+
color: colorKey ? (colorMap == null ? void 0 : colorMap.get(data[colorKey])) || fillColor : fillColor
|
|
182
|
+
})
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
return style;
|
|
186
|
+
};
|
|
187
|
+
var createBusinessLayer = (dataList, config) => {
|
|
188
|
+
const { layerName } = config || {};
|
|
169
189
|
const geoJson = assembleGeoJson(dataList, config);
|
|
170
190
|
const vectorLayer = new VectorLayer({
|
|
171
191
|
className: layerName ? layerName : "ol-layer",
|
|
172
192
|
source: new VectorSource({
|
|
173
|
-
features: new GeoJSON().readFeatures(geoJson)
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
stroke: new Stroke({
|
|
177
|
-
color: "red",
|
|
178
|
-
lineDash: [10],
|
|
179
|
-
width: 3
|
|
180
|
-
})
|
|
181
|
-
}) : new Style({
|
|
182
|
-
stroke: new Stroke({
|
|
183
|
-
color: "red",
|
|
184
|
-
lineDash: [10],
|
|
185
|
-
width: 3
|
|
186
|
-
}),
|
|
187
|
-
fill: new Fill({
|
|
188
|
-
color: "rgba(0, 0, 255, 0.1)"
|
|
193
|
+
features: new GeoJSON().readFeatures(geoJson).map((feature) => {
|
|
194
|
+
feature.setStyle(createVectorStyle(feature.getProperties(), config));
|
|
195
|
+
return feature;
|
|
189
196
|
})
|
|
190
197
|
})
|
|
191
198
|
});
|
|
192
199
|
vectorLayer.set("_layerName", layerName);
|
|
193
200
|
return vectorLayer;
|
|
194
201
|
};
|
|
195
|
-
var createVectorFaceLayer = (dataList = [], config) =>
|
|
196
|
-
var createVectorLineLayer = (dataList = [], config) =>
|
|
202
|
+
var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: false }));
|
|
203
|
+
var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: true }));
|
|
197
204
|
var removeAllLayers = (isClearAll = true) => {
|
|
198
205
|
removeOverlays();
|
|
199
206
|
console.log(isClearAll);
|
|
@@ -364,7 +371,7 @@ var createMassMarksLayer = (dataList, styleList = []) => {
|
|
|
364
371
|
_isCustom: true,
|
|
365
372
|
_isMassMarksLayer: true,
|
|
366
373
|
_statusNum: styleList.length / 2,
|
|
367
|
-
_dataList: dataList,
|
|
374
|
+
_dataList: [...dataList],
|
|
368
375
|
_uuidSet: new Set(dataList.map((item) => item._uuid) || [])
|
|
369
376
|
});
|
|
370
377
|
return vectorLayer;
|
|
@@ -378,7 +385,8 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
378
385
|
isDynamic,
|
|
379
386
|
statusNum,
|
|
380
387
|
markerIcon,
|
|
381
|
-
markerSize
|
|
388
|
+
markerSize,
|
|
389
|
+
vectorConfig
|
|
382
390
|
} = iconConfig;
|
|
383
391
|
const massMarksStyles = buildMassMarksStyles(getImgUrlFn)({
|
|
384
392
|
baseUrl,
|
|
@@ -392,7 +400,7 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
392
400
|
createSelectByLayer(massMarksLayer);
|
|
393
401
|
}
|
|
394
402
|
if (hasLine) {
|
|
395
|
-
const vectorLayer =
|
|
403
|
+
const vectorLayer = createBusinessLayer(dataList, vectorConfig ? vectorConfig : {
|
|
396
404
|
key: "line",
|
|
397
405
|
isLine: true,
|
|
398
406
|
strokeColor: "rgba(29, 235, 255, 0.8)"
|
|
@@ -400,10 +408,9 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
400
408
|
instance.addLayer(vectorLayer);
|
|
401
409
|
}
|
|
402
410
|
if (hasFace) {
|
|
403
|
-
const vectorLayer =
|
|
411
|
+
const vectorLayer = createBusinessLayer(dataList, vectorConfig ? vectorConfig : {
|
|
404
412
|
isLine: false,
|
|
405
413
|
key: "faceList",
|
|
406
|
-
fillOpacity: 0.1,
|
|
407
414
|
fillColor: "#4247DF",
|
|
408
415
|
strokeWeight: 1,
|
|
409
416
|
strokeStyle: "dashed",
|
|
@@ -627,7 +634,7 @@ export {
|
|
|
627
634
|
buildMassMarksStyles,
|
|
628
635
|
createAnimationMarker,
|
|
629
636
|
createBaseLayer,
|
|
630
|
-
|
|
637
|
+
createBusinessLayer,
|
|
631
638
|
createMapInstance,
|
|
632
639
|
createMapWorldLayer,
|
|
633
640
|
createMassMarksLayer,
|