map-ol-utils 0.0.40 → 0.0.42

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 CHANGED
@@ -117,12 +117,12 @@ var import_View = __toESM(require("ol/View"), 1);
117
117
  var import_control = require("ol/control");
118
118
 
119
119
  // src/layer-utils.ts
120
- var import_gcoord = __toESM(require("gcoord"), 1);
121
120
  var import_geom = require("ol/geom");
122
121
  var import_format = require("ol/format");
123
122
  var import_extent = require("ol/extent");
124
123
  var import_ol = require("ol");
125
124
  var import_interaction = require("ol/interaction");
125
+ var import_gcoord = __toESM(require("gcoord"), 1);
126
126
  var import_Vector = __toESM(require("ol/layer/Vector"), 1);
127
127
  var import_Vector2 = __toESM(require("ol/source/Vector"), 1);
128
128
  var import_condition = require("ol/events/condition");
@@ -158,7 +158,7 @@ var resetActiveVector = () => {
158
158
  });
159
159
  };
160
160
  var assembleGeoJson = (dataList, config) => {
161
- const { key, needTransform = true } = config;
161
+ const { key, crsForm } = config;
162
162
  const tempList = [];
163
163
  dataList.forEach((item) => {
164
164
  try {
@@ -177,9 +177,9 @@ var assembleGeoJson = (dataList, config) => {
177
177
  console.error(`\u521B\u5EFA\u7EBF\u72B6\u6570\u636E\u5931\u8D25\uFF1A${e}`);
178
178
  }
179
179
  });
180
- return !needTransform ? { type: "FeatureCollection", features: tempList } : import_gcoord.default.transform(
180
+ return import_gcoord.default.transform(
181
181
  { type: "FeatureCollection", features: tempList },
182
- import_gcoord.default.GCJ02,
182
+ crsForm || import_gcoord.default.WGS84,
183
183
  import_gcoord.default.WGS84
184
184
  );
185
185
  };
@@ -265,7 +265,7 @@ var createBusinessLayer = (dataList, config) => {
265
265
  });
266
266
  return vectorLayer;
267
267
  };
268
- var appendFeaturesByLayer = (targetLayer, dataList, needTransform = false) => {
268
+ var appendFeaturesByLayer = (targetLayer, dataList, crsForm) => {
269
269
  const vectorSource = targetLayer.getSource();
270
270
  const tempSet = targetLayer.get("_uuidSet") || /* @__PURE__ */ new Set();
271
271
  dataList.forEach((item) => tempSet.add(item._uuid));
@@ -273,7 +273,7 @@ var appendFeaturesByLayer = (targetLayer, dataList, needTransform = false) => {
273
273
  const { _vectorConfig: config } = targetLayer.getProperties() || {};
274
274
  const geoJson = assembleGeoJson(
275
275
  dataList,
276
- Object.assign({}, config, { needTransform })
276
+ Object.assign({}, config, { crsForm })
277
277
  );
278
278
  vectorSource.addFeatures(
279
279
  new import_format.GeoJSON().readFeatures(geoJson).map((feature) => {
@@ -282,8 +282,8 @@ var appendFeaturesByLayer = (targetLayer, dataList, needTransform = false) => {
282
282
  })
283
283
  );
284
284
  };
285
- var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: false }));
286
- var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: true }));
285
+ var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign({}, config, { isLine: false }));
286
+ var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign({}, config, { isLine: true }));
287
287
  var removeAllLayers = (isClearAll = true) => {
288
288
  removeOverlays();
289
289
  console.log(isClearAll);
@@ -442,8 +442,14 @@ var createSelectByLayer = (vectorLayer) => {
442
442
  };
443
443
  var createMassMarksLayer = (dataList, styleList = []) => {
444
444
  const features = dataList.map((item) => {
445
+ const { crsForm } = item;
446
+ const coord = import_gcoord.default.transform(
447
+ [+item.lnglat[0], +item.lnglat[1]],
448
+ crsForm || import_gcoord.default.WGS84,
449
+ import_gcoord.default.WGS84
450
+ );
445
451
  const feature = new import_ol.Feature({
446
- geometry: new import_geom.Point([+item.lnglat[0], +item.lnglat[1]])
452
+ geometry: new import_geom.Point(coord)
447
453
  });
448
454
  feature.setProperties(__spreadProps(__spreadValues({}, item), {
449
455
  unActiveStyle: styleList[item.style],
@@ -494,27 +500,36 @@ var addMassMarksLayer = (getImgUrlFn) => {
494
500
  if (hasLine) {
495
501
  const vectorLayer = createBusinessLayer(
496
502
  dataList,
497
- vectorConfig || {
498
- key: "line",
499
- isLine: true,
500
- openClick: false,
501
- strokeColor: "rgba(29, 235, 255, 0.8)"
502
- }
503
+ Object.assign(
504
+ {},
505
+ {
506
+ key: "line",
507
+ isLine: true,
508
+ openClick: false,
509
+ strokeWeight: 4,
510
+ strokeColor: "rgba(29, 235, 255, 0.8)"
511
+ },
512
+ vectorConfig || {}
513
+ )
503
514
  );
504
515
  instance.addLayer(vectorLayer);
505
516
  }
506
517
  if (hasFace) {
507
518
  const vectorLayer = createBusinessLayer(
508
519
  dataList,
509
- vectorConfig || {
510
- isLine: false,
511
- key: "faceList",
512
- strokeWeight: 1,
513
- openClick: false,
514
- fillColor: "#4247DF",
515
- strokeStyle: "dashed",
516
- strokeColor: "#4247DF"
517
- }
520
+ Object.assign(
521
+ {},
522
+ {
523
+ isLine: false,
524
+ key: "faceList",
525
+ strokeWeight: 1,
526
+ openClick: false,
527
+ fillColor: "#4247DF",
528
+ strokeStyle: "dashed",
529
+ strokeColor: "#4247DF"
530
+ },
531
+ vectorConfig || {}
532
+ )
518
533
  );
519
534
  instance.addLayer(vectorLayer);
520
535
  }
package/dist/index.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Layer, Tile } from 'ol/layer';
2
2
  import { Map as Map$1, Feature } from 'ol';
3
+ import { CRSTypes } from 'gcoord';
3
4
  import { Source, XYZ, WMTS } from 'ol/source';
4
5
  import { Coordinate } from 'ol/coordinate';
5
6
  import { Emitter, EventType } from 'mitt';
@@ -29,6 +30,7 @@ type VectorConfig = {
29
30
  layerName?: string;
30
31
  openClick?: boolean;
31
32
  fillColor?: string;
33
+ crsForm?: CRSTypes;
32
34
  fillOpacity?: number;
33
35
  strokeColor?: string;
34
36
  strokeStyle?: string;
@@ -60,6 +62,7 @@ type MassData = {
60
62
  width?: number;
61
63
  height?: number;
62
64
  itemName: string;
65
+ crsForm?: CRSTypes;
63
66
  rawData: {
64
67
  [key: string]: any;
65
68
  };
@@ -127,9 +130,9 @@ declare const createBusinessLayer: (dataList: MassData[], config: VectorConfig)
127
130
  * 追加Features
128
131
  * @param targetLayer
129
132
  * @param dataList
130
- * @param needTransform
133
+ * @param crsForm
131
134
  */
132
- declare const appendFeaturesByLayer: (targetLayer: VectorLayer, dataList: MassData[], needTransform?: boolean) => void;
135
+ declare const appendFeaturesByLayer: (targetLayer: VectorLayer, dataList: MassData[], crsForm: CRSTypes) => void;
133
136
  /**
134
137
  * 创建面状数据
135
138
  * @param dataList
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Layer, Tile } from 'ol/layer';
2
2
  import { Map as Map$1, Feature } from 'ol';
3
+ import { CRSTypes } from 'gcoord';
3
4
  import { Source, XYZ, WMTS } from 'ol/source';
4
5
  import { Coordinate } from 'ol/coordinate';
5
6
  import { Emitter, EventType } from 'mitt';
@@ -29,6 +30,7 @@ type VectorConfig = {
29
30
  layerName?: string;
30
31
  openClick?: boolean;
31
32
  fillColor?: string;
33
+ crsForm?: CRSTypes;
32
34
  fillOpacity?: number;
33
35
  strokeColor?: string;
34
36
  strokeStyle?: string;
@@ -60,6 +62,7 @@ type MassData = {
60
62
  width?: number;
61
63
  height?: number;
62
64
  itemName: string;
65
+ crsForm?: CRSTypes;
63
66
  rawData: {
64
67
  [key: string]: any;
65
68
  };
@@ -127,9 +130,9 @@ declare const createBusinessLayer: (dataList: MassData[], config: VectorConfig)
127
130
  * 追加Features
128
131
  * @param targetLayer
129
132
  * @param dataList
130
- * @param needTransform
133
+ * @param crsForm
131
134
  */
132
- declare const appendFeaturesByLayer: (targetLayer: VectorLayer, dataList: MassData[], needTransform?: boolean) => void;
135
+ declare const appendFeaturesByLayer: (targetLayer: VectorLayer, dataList: MassData[], crsForm: CRSTypes) => void;
133
136
  /**
134
137
  * 创建面状数据
135
138
  * @param dataList
package/dist/index.js CHANGED
@@ -59,12 +59,12 @@ import View from "ol/View";
59
59
  import { defaults } from "ol/control";
60
60
 
61
61
  // src/layer-utils.ts
62
- import gcoord from "gcoord";
63
62
  import { Point } from "ol/geom";
64
63
  import { GeoJSON } from "ol/format";
65
64
  import { getCenter } from "ol/extent";
66
65
  import { Feature, Overlay } from "ol";
67
66
  import { Select } from "ol/interaction";
67
+ import gcoord from "gcoord";
68
68
  import VectorLayer from "ol/layer/Vector";
69
69
  import VectorSource from "ol/source/Vector";
70
70
  import { click } from "ol/events/condition";
@@ -100,7 +100,7 @@ var resetActiveVector = () => {
100
100
  });
101
101
  };
102
102
  var assembleGeoJson = (dataList, config) => {
103
- const { key, needTransform = true } = config;
103
+ const { key, crsForm } = config;
104
104
  const tempList = [];
105
105
  dataList.forEach((item) => {
106
106
  try {
@@ -119,9 +119,9 @@ var assembleGeoJson = (dataList, config) => {
119
119
  console.error(`\u521B\u5EFA\u7EBF\u72B6\u6570\u636E\u5931\u8D25\uFF1A${e}`);
120
120
  }
121
121
  });
122
- return !needTransform ? { type: "FeatureCollection", features: tempList } : gcoord.transform(
122
+ return gcoord.transform(
123
123
  { type: "FeatureCollection", features: tempList },
124
- gcoord.GCJ02,
124
+ crsForm || gcoord.WGS84,
125
125
  gcoord.WGS84
126
126
  );
127
127
  };
@@ -207,7 +207,7 @@ var createBusinessLayer = (dataList, config) => {
207
207
  });
208
208
  return vectorLayer;
209
209
  };
210
- var appendFeaturesByLayer = (targetLayer, dataList, needTransform = false) => {
210
+ var appendFeaturesByLayer = (targetLayer, dataList, crsForm) => {
211
211
  const vectorSource = targetLayer.getSource();
212
212
  const tempSet = targetLayer.get("_uuidSet") || /* @__PURE__ */ new Set();
213
213
  dataList.forEach((item) => tempSet.add(item._uuid));
@@ -215,7 +215,7 @@ var appendFeaturesByLayer = (targetLayer, dataList, needTransform = false) => {
215
215
  const { _vectorConfig: config } = targetLayer.getProperties() || {};
216
216
  const geoJson = assembleGeoJson(
217
217
  dataList,
218
- Object.assign({}, config, { needTransform })
218
+ Object.assign({}, config, { crsForm })
219
219
  );
220
220
  vectorSource.addFeatures(
221
221
  new GeoJSON().readFeatures(geoJson).map((feature) => {
@@ -224,8 +224,8 @@ var appendFeaturesByLayer = (targetLayer, dataList, needTransform = false) => {
224
224
  })
225
225
  );
226
226
  };
227
- var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: false }));
228
- var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign(config, { isLine: true }));
227
+ var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign({}, config, { isLine: false }));
228
+ var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign({}, config, { isLine: true }));
229
229
  var removeAllLayers = (isClearAll = true) => {
230
230
  removeOverlays();
231
231
  console.log(isClearAll);
@@ -384,8 +384,14 @@ var createSelectByLayer = (vectorLayer) => {
384
384
  };
385
385
  var createMassMarksLayer = (dataList, styleList = []) => {
386
386
  const features = dataList.map((item) => {
387
+ const { crsForm } = item;
388
+ const coord = gcoord.transform(
389
+ [+item.lnglat[0], +item.lnglat[1]],
390
+ crsForm || gcoord.WGS84,
391
+ gcoord.WGS84
392
+ );
387
393
  const feature = new Feature({
388
- geometry: new Point([+item.lnglat[0], +item.lnglat[1]])
394
+ geometry: new Point(coord)
389
395
  });
390
396
  feature.setProperties(__spreadProps(__spreadValues({}, item), {
391
397
  unActiveStyle: styleList[item.style],
@@ -436,27 +442,36 @@ var addMassMarksLayer = (getImgUrlFn) => {
436
442
  if (hasLine) {
437
443
  const vectorLayer = createBusinessLayer(
438
444
  dataList,
439
- vectorConfig || {
440
- key: "line",
441
- isLine: true,
442
- openClick: false,
443
- strokeColor: "rgba(29, 235, 255, 0.8)"
444
- }
445
+ Object.assign(
446
+ {},
447
+ {
448
+ key: "line",
449
+ isLine: true,
450
+ openClick: false,
451
+ strokeWeight: 4,
452
+ strokeColor: "rgba(29, 235, 255, 0.8)"
453
+ },
454
+ vectorConfig || {}
455
+ )
445
456
  );
446
457
  instance.addLayer(vectorLayer);
447
458
  }
448
459
  if (hasFace) {
449
460
  const vectorLayer = createBusinessLayer(
450
461
  dataList,
451
- vectorConfig || {
452
- isLine: false,
453
- key: "faceList",
454
- strokeWeight: 1,
455
- openClick: false,
456
- fillColor: "#4247DF",
457
- strokeStyle: "dashed",
458
- strokeColor: "#4247DF"
459
- }
462
+ Object.assign(
463
+ {},
464
+ {
465
+ isLine: false,
466
+ key: "faceList",
467
+ strokeWeight: 1,
468
+ openClick: false,
469
+ fillColor: "#4247DF",
470
+ strokeStyle: "dashed",
471
+ strokeColor: "#4247DF"
472
+ },
473
+ vectorConfig || {}
474
+ )
460
475
  );
461
476
  instance.addLayer(vectorLayer);
462
477
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.0.40",
3
+ "version": "0.0.42",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [