map-ol-utils 0.1.11 → 0.1.12

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
@@ -426,6 +426,37 @@ var buildMassMarksStyles = (getImgUrlFn) => {
426
426
  return massMarksStyles;
427
427
  };
428
428
  };
429
+ var selectEventHandle = (vectorLayer, feature) => {
430
+ const data = feature.getProperties();
431
+ const { activeStyle } = data;
432
+ feature.setStyle(activeStyle);
433
+ emitter_default.emit("selected-feature", data);
434
+ vectorLayer.set("_hasActive", true);
435
+ if (vectorLayer.get("_isDynamic")) {
436
+ const activeImage = activeStyle.getImage();
437
+ setTimeout(() => {
438
+ emitter_default.emit(
439
+ "dynamic-marker",
440
+ Object.assign({}, data.rawData || {}, {
441
+ lnglat: data.lnglat,
442
+ style: data.style,
443
+ crsForm: data.crsForm,
444
+ width: activeImage.getWidth(),
445
+ height: activeImage.getHeight()
446
+ })
447
+ );
448
+ }, 1e3);
449
+ }
450
+ const isAutoFit = vectorLayer.get("_isAutoFit");
451
+ if (isAutoFit) {
452
+ const view = instance.getView();
453
+ view.animate({
454
+ duration: 1e3,
455
+ zoom: view.getZoom(),
456
+ center: (0, import_extent.getCenter)(feature.getGeometry().getExtent())
457
+ });
458
+ }
459
+ };
429
460
  var createSelectByLayer = (vectorLayer) => {
430
461
  const interaction = new import_interaction.Select({
431
462
  style: null,
@@ -450,34 +481,14 @@ var createSelectByLayer = (vectorLayer) => {
450
481
  const { selected, deselected } = evt;
451
482
  if (selected.length) {
452
483
  const feature = selected[0];
453
- const data = feature.getProperties();
454
- const { activeStyle } = data;
455
- feature.setStyle(activeStyle);
456
- emitter_default.emit("selected-feature", data);
457
- vectorLayer.set("_hasActive", true);
458
- if (vectorLayer.get("_isDynamic")) {
459
- const activeImage = activeStyle.getImage();
460
- setTimeout(() => {
461
- emitter_default.emit(
462
- "dynamic-marker",
463
- Object.assign({}, data.rawData || {}, {
464
- lnglat: data.lnglat,
465
- style: data.style,
466
- crsForm: data.crsForm,
467
- width: activeImage.getWidth(),
468
- height: activeImage.getHeight()
469
- })
470
- );
471
- }, 1e3);
472
- }
473
- const isAutoFit = vectorLayer.get("_isAutoFit");
474
- if (isAutoFit) {
475
- const view = instance.getView();
476
- view.animate({
477
- duration: 1e3,
478
- zoom: view.getZoom(),
479
- center: (0, import_extent.getCenter)(feature.getGeometry().getExtent())
480
- });
484
+ const isClusterLayer = vectorLayer.get("_isClusterLayer");
485
+ if (isClusterLayer) {
486
+ const features = feature.get("features");
487
+ if (features.length === 1) {
488
+ selectEventHandle(vectorLayer, features[0]);
489
+ }
490
+ } else {
491
+ selectEventHandle(vectorLayer, feature);
481
492
  }
482
493
  }
483
494
  if (deselected.length) {
@@ -691,7 +702,8 @@ var createClusterLayer = (dataList, config) => {
691
702
  });
692
703
  vectorLayer.setProperties({
693
704
  _isCustom: true,
694
- _isVectorLayer: true
705
+ _isVectorLayer: true,
706
+ _isClusterLayer: true
695
707
  });
696
708
  if (openClick) {
697
709
  createSelectByLayer(vectorLayer);
package/dist/index.js CHANGED
@@ -359,6 +359,37 @@ var buildMassMarksStyles = (getImgUrlFn) => {
359
359
  return massMarksStyles;
360
360
  };
361
361
  };
362
+ var selectEventHandle = (vectorLayer, feature) => {
363
+ const data = feature.getProperties();
364
+ const { activeStyle } = data;
365
+ feature.setStyle(activeStyle);
366
+ emitter_default.emit("selected-feature", data);
367
+ vectorLayer.set("_hasActive", true);
368
+ if (vectorLayer.get("_isDynamic")) {
369
+ const activeImage = activeStyle.getImage();
370
+ setTimeout(() => {
371
+ emitter_default.emit(
372
+ "dynamic-marker",
373
+ Object.assign({}, data.rawData || {}, {
374
+ lnglat: data.lnglat,
375
+ style: data.style,
376
+ crsForm: data.crsForm,
377
+ width: activeImage.getWidth(),
378
+ height: activeImage.getHeight()
379
+ })
380
+ );
381
+ }, 1e3);
382
+ }
383
+ const isAutoFit = vectorLayer.get("_isAutoFit");
384
+ if (isAutoFit) {
385
+ const view = instance.getView();
386
+ view.animate({
387
+ duration: 1e3,
388
+ zoom: view.getZoom(),
389
+ center: getCenter(feature.getGeometry().getExtent())
390
+ });
391
+ }
392
+ };
362
393
  var createSelectByLayer = (vectorLayer) => {
363
394
  const interaction = new Select({
364
395
  style: null,
@@ -383,34 +414,14 @@ var createSelectByLayer = (vectorLayer) => {
383
414
  const { selected, deselected } = evt;
384
415
  if (selected.length) {
385
416
  const feature = selected[0];
386
- const data = feature.getProperties();
387
- const { activeStyle } = data;
388
- feature.setStyle(activeStyle);
389
- emitter_default.emit("selected-feature", data);
390
- vectorLayer.set("_hasActive", true);
391
- if (vectorLayer.get("_isDynamic")) {
392
- const activeImage = activeStyle.getImage();
393
- setTimeout(() => {
394
- emitter_default.emit(
395
- "dynamic-marker",
396
- Object.assign({}, data.rawData || {}, {
397
- lnglat: data.lnglat,
398
- style: data.style,
399
- crsForm: data.crsForm,
400
- width: activeImage.getWidth(),
401
- height: activeImage.getHeight()
402
- })
403
- );
404
- }, 1e3);
405
- }
406
- const isAutoFit = vectorLayer.get("_isAutoFit");
407
- if (isAutoFit) {
408
- const view = instance.getView();
409
- view.animate({
410
- duration: 1e3,
411
- zoom: view.getZoom(),
412
- center: getCenter(feature.getGeometry().getExtent())
413
- });
417
+ const isClusterLayer = vectorLayer.get("_isClusterLayer");
418
+ if (isClusterLayer) {
419
+ const features = feature.get("features");
420
+ if (features.length === 1) {
421
+ selectEventHandle(vectorLayer, features[0]);
422
+ }
423
+ } else {
424
+ selectEventHandle(vectorLayer, feature);
414
425
  }
415
426
  }
416
427
  if (deselected.length) {
@@ -624,7 +635,8 @@ var createClusterLayer = (dataList, config) => {
624
635
  });
625
636
  vectorLayer.setProperties({
626
637
  _isCustom: true,
627
- _isVectorLayer: true
638
+ _isVectorLayer: true,
639
+ _isClusterLayer: true
628
640
  });
629
641
  if (openClick) {
630
642
  createSelectByLayer(vectorLayer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [