@syncfusion/ej2-maps 25.2.4 → 25.2.5

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/ej2-maps.min.js +2 -2
  3. package/dist/ej2-maps.umd.min.js +2 -2
  4. package/dist/ej2-maps.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-maps.es2015.js +322 -202
  6. package/dist/es6/ej2-maps.es2015.js.map +1 -1
  7. package/dist/es6/ej2-maps.es5.js +331 -205
  8. package/dist/es6/ej2-maps.es5.js.map +1 -1
  9. package/dist/global/ej2-maps.min.js +2 -2
  10. package/dist/global/ej2-maps.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +7 -7
  13. package/src/maps/layers/bubble.d.ts +3 -4
  14. package/src/maps/layers/bubble.js +3 -4
  15. package/src/maps/layers/color-mapping.d.ts +2 -2
  16. package/src/maps/layers/color-mapping.js +2 -2
  17. package/src/maps/layers/data-label.d.ts +1 -1
  18. package/src/maps/layers/data-label.js +1 -1
  19. package/src/maps/layers/layer-panel.d.ts +7 -7
  20. package/src/maps/layers/layer-panel.js +11 -20
  21. package/src/maps/layers/legend.d.ts +9 -0
  22. package/src/maps/layers/legend.js +96 -19
  23. package/src/maps/layers/marker.d.ts +8 -8
  24. package/src/maps/layers/marker.js +8 -8
  25. package/src/maps/layers/navigation-selected-line.d.ts +1 -1
  26. package/src/maps/layers/navigation-selected-line.js +1 -1
  27. package/src/maps/layers/polygon.d.ts +1 -1
  28. package/src/maps/layers/polygon.js +1 -1
  29. package/src/maps/maps.d.ts +24 -26
  30. package/src/maps/maps.js +32 -30
  31. package/src/maps/model/base-model.d.ts +18 -2
  32. package/src/maps/model/base.d.ts +16 -2
  33. package/src/maps/model/base.js +7 -1
  34. package/src/maps/model/constants.d.ts +0 -4
  35. package/src/maps/model/constants.js +0 -4
  36. package/src/maps/model/interface.d.ts +2 -1
  37. package/src/maps/model/print.d.ts +3 -3
  38. package/src/maps/model/print.js +3 -3
  39. package/src/maps/model/theme.d.ts +1 -1
  40. package/src/maps/model/theme.js +1 -1
  41. package/src/maps/user-interaction/annotation.d.ts +1 -2
  42. package/src/maps/user-interaction/annotation.js +1 -2
  43. package/src/maps/user-interaction/highlight.d.ts +4 -4
  44. package/src/maps/user-interaction/highlight.js +4 -4
  45. package/src/maps/user-interaction/selection.d.ts +5 -5
  46. package/src/maps/user-interaction/selection.js +5 -5
  47. package/src/maps/user-interaction/tooltip.d.ts +6 -6
  48. package/src/maps/user-interaction/tooltip.js +18 -11
  49. package/src/maps/user-interaction/zoom.d.ts +6 -4
  50. package/src/maps/user-interaction/zoom.js +23 -10
  51. package/src/maps/utils/helper.d.ts +87 -72
  52. package/src/maps/utils/helper.js +114 -78
@@ -17,7 +17,7 @@ class Size {
17
17
  }
18
18
  }
19
19
  /**
20
- * To find number from string
20
+ * To find number from string.
21
21
  *
22
22
  * @param {string} value Specifies the value
23
23
  * @param {number} containerSize Specifies the container size
@@ -31,7 +31,7 @@ function stringToNumber(value, containerSize) {
31
31
  return null;
32
32
  }
33
33
  /**
34
- * Method to calculate the width and height of the maps
34
+ * Method to calculate the width and height of the maps.
35
35
  *
36
36
  * @param {Maps} maps Specifies the maps instance
37
37
  * @returns {void}
@@ -76,7 +76,7 @@ function createSvg(maps) {
76
76
  }
77
77
  }
78
78
  /**
79
- * Method to get the mouse position
79
+ * Method to get the mouse position.
80
80
  *
81
81
  * @param {number} pageX - Specifies the pageX.
82
82
  * @param {number} pageY - Specifies the pageY.
@@ -95,7 +95,7 @@ function getMousePosition(pageX, pageY, element) {
95
95
  return new MapLocation((pageX - positionX), (pageY - positionY));
96
96
  }
97
97
  /**
98
- * Method to convert degrees to radians
98
+ * Method to convert degrees to radians.
99
99
  *
100
100
  * @param {number} deg Specifies the degree value
101
101
  * @returns {number} Returns the number
@@ -105,7 +105,7 @@ function degreesToRadians(deg) {
105
105
  return deg * (Math.PI / 180);
106
106
  }
107
107
  /**
108
- * Convert radians to degrees method
108
+ * Convert radians to degrees method.
109
109
  *
110
110
  * @param {number} radian Specifies the radian value
111
111
  * @returns {number} Returns the number
@@ -115,7 +115,7 @@ function radiansToDegrees(radian) {
115
115
  return radian * (180 / Math.PI);
116
116
  }
117
117
  /**
118
- * Method for converting from latitude and longitude values to points
118
+ * Method for converting from latitude and longitude values to points.
119
119
  *
120
120
  * @param {number} latitude - Specifies the latitude.
121
121
  * @param {number} longitude - Specifies the longitude.
@@ -224,7 +224,7 @@ function calculatePolygonPath(maps, factor, currentLayer, markerData) {
224
224
  return path;
225
225
  }
226
226
  /**
227
- * Converting tile latitude and longitude to point
227
+ * Converting tile latitude and longitude to point.
228
228
  *
229
229
  * @param {MapLocation} center Specifies the map center location
230
230
  * @param {number} zoomLevel Specifies the zoom level
@@ -247,7 +247,7 @@ function convertTileLatLongToPoint(center, zoomLevel, tileTranslatePoint, isMapC
247
247
  return { x: pixelX, y: pixelY };
248
248
  }
249
249
  /**
250
- * Method for calculate x point
250
+ * Method for calculate x point.
251
251
  *
252
252
  * @param {Maps} mapObject - Specifies the maps.
253
253
  * @param {number} val - Specifies the value.
@@ -261,7 +261,7 @@ function xToCoordinate(mapObject, val) {
261
261
  return Math.round(totalSize * (val - longitudeMinMax.min) / (longitudeMinMax.max - longitudeMinMax.min) * 100) / 100;
262
262
  }
263
263
  /**
264
- * Method for calculate y point
264
+ * Method for calculate y point.
265
265
  *
266
266
  * @param {Maps} mapObject - Specifies the maps.
267
267
  * @param {number} val - Specifies the value.
@@ -273,7 +273,7 @@ function yToCoordinate(mapObject, val) {
273
273
  return Math.round(mapObject.mapAreaRect.height * (val - latitudeMinMax.min) / (latitudeMinMax.max - latitudeMinMax.min) * 100) / 100;
274
274
  }
275
275
  /**
276
- * Method for calculate aitoff projection
276
+ * Method for calculate aitoff projection.
277
277
  *
278
278
  * @param {number} x - Specifies the x value.
279
279
  * @param {number} y - Specifies the y value.
@@ -286,7 +286,7 @@ function aitoff(x, y) {
286
286
  return new Point(2 * cosy * Math.sin(x) * sincia, Math.sin(y) * sincia);
287
287
  }
288
288
  /**
289
- * Method to round the number
289
+ * Method to round the number.
290
290
  *
291
291
  * @param {number} a - Specifies the a value
292
292
  * @param {number} b - Specifies the b value
@@ -316,7 +316,7 @@ function acos(a) {
316
316
  return Math.acos(a);
317
317
  }
318
318
  /**
319
- * Method to calculate bound
319
+ * Method to calculate bound.
320
320
  *
321
321
  * @param {number} value Specifies the value
322
322
  * @param {number} min Specifies the minimum value
@@ -334,7 +334,7 @@ function calculateBound(value, min, max) {
334
334
  return value;
335
335
  }
336
336
  /**
337
- * To trigger the download element
337
+ * To trigger the download element.
338
338
  *
339
339
  * @param {string} fileName Specifies the file name
340
340
  * @param {ExportType} type Specifies the type
@@ -417,7 +417,8 @@ function measureText(text, font) {
417
417
  * @param {string} text - Specifies the text.
418
418
  * @param {FontModel} font - Specifies the font.
419
419
  * @returns {Size} - Returns the size of text.
420
- * @private */
420
+ * @private
421
+ */
421
422
  function measureTextElement(text, font) {
422
423
  const canvas = document.createElement('canvas');
423
424
  // eslint-disable-next-line @typescript-eslint/tslint/config
@@ -429,7 +430,7 @@ function measureTextElement(text, font) {
429
430
  return new Size(width, height);
430
431
  }
431
432
  /**
432
- * Internal use of text options
433
+ * Internal use of text options.
433
434
  *
434
435
  * @private
435
436
  */
@@ -447,7 +448,7 @@ class TextOption {
447
448
  }
448
449
  }
449
450
  /**
450
- * Internal use of path options
451
+ * Internal use of path options.
451
452
  *
452
453
  * @private
453
454
  */
@@ -472,7 +473,7 @@ class ColorValue {
472
473
  }
473
474
  }
474
475
  /**
475
- * Internal use of rectangle options
476
+ * Internal use of rectangle options.
476
477
  *
477
478
  * @private
478
479
  */
@@ -492,7 +493,7 @@ class RectOption extends PathOption {
492
493
  }
493
494
  }
494
495
  /**
495
- * Internal use of circle options
496
+ * Internal use of circle options.
496
497
  *
497
498
  * @private
498
499
  */
@@ -508,7 +509,7 @@ class CircleOption extends PathOption {
508
509
  }
509
510
  }
510
511
  /**
511
- * Internal use of polygon options
512
+ * Internal use of polygon options.
512
513
  *
513
514
  * @private
514
515
  */
@@ -519,7 +520,7 @@ class PolygonOption extends PathOption {
519
520
  }
520
521
  }
521
522
  /**
522
- * Internal use of polyline options
523
+ * Internal use of polyline options.
523
524
  *
524
525
  * @private
525
526
  */
@@ -529,7 +530,7 @@ class PolylineOption extends PolygonOption {
529
530
  }
530
531
  }
531
532
  /**
532
- * Internal use of line options
533
+ * Internal use of line options.
533
534
  *
534
535
  * @private
535
536
  */
@@ -543,7 +544,7 @@ class LineOption extends PathOption {
543
544
  }
544
545
  }
545
546
  /**
546
- * Internal use of line
547
+ * Internal use of line.
547
548
  *
548
549
  * @property {number} Line - Specifies the line class
549
550
  * @private
@@ -557,7 +558,7 @@ class Line {
557
558
  }
558
559
  }
559
560
  /**
560
- * Internal use of map location type
561
+ * Internal use of map location type.
561
562
  *
562
563
  * @private
563
564
  */
@@ -568,7 +569,7 @@ class MapLocation {
568
569
  }
569
570
  }
570
571
  /**
571
- * Internal use of type rect
572
+ * Internal use of type rect.
572
573
  *
573
574
  * @private
574
575
  */
@@ -600,7 +601,7 @@ class PatternOptions {
600
601
  }
601
602
  }
602
603
  /**
603
- * Internal rendering of text
604
+ * Internal rendering of text.
604
605
  *
605
606
  * @param {TextOption} option Specifies the text option
606
607
  * @param {FontModel} style Specifies the style
@@ -779,7 +780,7 @@ function convertElementFromLabel(element, labelId, data) {
779
780
  * @returns {Element} - Returns the element
780
781
  * @private
781
782
  */
782
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
783
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
783
784
  function drawSymbols(shape, imageUrl, location, markerID, shapeCustom, markerCollection, maps) {
784
785
  let markerEle;
785
786
  let x;
@@ -1137,7 +1138,8 @@ function clusterTemplate(currentLayer, markerTemplate, maps, layerIndex, markerC
1137
1138
  * @param {number} index - Specifies the index.
1138
1139
  * @param {number} indexCollection - Specifies the index Collection.
1139
1140
  * @returns {void}
1140
- * @private */
1141
+ * @private
1142
+ */
1141
1143
  function markerClusterListHandler(maps, currentZoomFactor, layerIndex, index, indexCollection) {
1142
1144
  if (currentZoomFactor === 1) {
1143
1145
  const initialMarkerClusterList = isNullOrUndefined(maps.markerModule.initialMarkerCluster[layerIndex][index]) ? [] : indexCollection.length > 1 ? indexCollection : [];
@@ -1156,7 +1158,8 @@ function markerClusterListHandler(maps, currentZoomFactor, layerIndex, index, in
1156
1158
  * @param {number[]} indexCollection - Specifies the index collection.
1157
1159
  * @param {number} p - Specifies the p.
1158
1160
  * @returns {void}
1159
- * @private */
1161
+ * @private
1162
+ */
1160
1163
  function markerBoundsComparer(tempElement, markerBounds, colloideBounds, indexCollection, p) {
1161
1164
  // eslint-disable-next-line @typescript-eslint/tslint/config
1162
1165
  const currentMarkerBound = tempElement.getBoundingClientRect();
@@ -1316,6 +1319,11 @@ function marker(eventArgs, markerSettings, markerData, dataIndex, location, tran
1316
1319
  const y = (maps.isTileMap ? location.y : (location.y + transPoint.y) * scale) + offset.y;
1317
1320
  ele.setAttribute('transform', 'translate( ' + x + ' ' + y + ' )');
1318
1321
  maintainSelection(maps.selectedMarkerElementId, maps.markerSelectionClass, ele, 'MarkerselectionMapStyle');
1322
+ if (maps.legendSettings.toggleLegendSettings.enable && maps.legendSettings.type === 'Markers') {
1323
+ const layerIndex = parseInt(ele.id.split('_LayerIndex_')[1], 10);
1324
+ maintainToggleSelection(maps.toggledElementId, ele.tagName === 'g' ? ele.children[0] : ele, maps.legendSettings.toggleLegendSettings.applyShapeSettings ?
1325
+ maps.layers[layerIndex].shapeSettings : maps.legendSettings.toggleLegendSettings);
1326
+ }
1319
1327
  markerCollection.appendChild(ele);
1320
1328
  const element = (markerData.length - 1) === dataIndex ? 'marker' : null;
1321
1329
  const markerPoint = new Point(x, y);
@@ -1340,7 +1348,7 @@ function marker(eventArgs, markerSettings, markerData, dataIndex, location, tran
1340
1348
  * @returns {HTMLElement} - Returns the html element
1341
1349
  * @private
1342
1350
  */
1343
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
1351
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1344
1352
  function markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplate, location, transPoint, scale, offset, maps) {
1345
1353
  templateFn = getTemplateFunction(eventArgs.template, maps);
1346
1354
  if (templateFn && (templateFn(data, maps, eventArgs.template, maps.element.id + '_MarkerTemplate' + markerIndex, false).length)) {
@@ -1365,7 +1373,7 @@ function markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, mark
1365
1373
  return markerTemplate;
1366
1374
  }
1367
1375
  /**
1368
- * To maintain selection during page resize
1376
+ * To maintain selection during page resize.
1369
1377
  *
1370
1378
  * @param {string[]} elementId - Specifies the element id
1371
1379
  * @param {Element} elementClass - Specifies the element class
@@ -1392,7 +1400,30 @@ function maintainSelection(elementId, elementClass, element, className) {
1392
1400
  }
1393
1401
  }
1394
1402
  /**
1395
- * To maintain selection style class
1403
+ * To maintain toggle state during page resize.
1404
+ *
1405
+ * @param {string[]} toggledElements - Specifies the list of toggled elements
1406
+ * @param {Element} element - Specifies the element id
1407
+ * @param {any} styleProperty - Specifies the style properties
1408
+ * @returns {void}
1409
+ * @private
1410
+ */
1411
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1412
+ function maintainToggleSelection(toggledElements, element, styleProperty) {
1413
+ if (!isNullOrUndefined(toggledElements) && toggledElements.length > 0) {
1414
+ for (let j = 0; j < toggledElements.length; j++) {
1415
+ if (toggledElements[j] === element.id) {
1416
+ element.setAttribute('fill', styleProperty.fill);
1417
+ element.setAttribute('stroke', styleProperty.border.color);
1418
+ element.setAttribute('fill-opacity', (styleProperty.opacity).toString());
1419
+ element.setAttribute('stroke-opacity', (isNullOrUndefined(styleProperty.border.opacity) ? styleProperty.opacity : styleProperty.border.opacity).toString());
1420
+ element.setAttribute('stroke-width', (isNullOrUndefined(styleProperty.border.width) ? 0 : styleProperty.border.width).toString());
1421
+ }
1422
+ }
1423
+ }
1424
+ }
1425
+ /**
1426
+ * To maintain selection style class.
1396
1427
  *
1397
1428
  * @param {string} id - Specifies the id
1398
1429
  * @param {string} idClass - Specifies the class id
@@ -1418,7 +1449,7 @@ function maintainStyleClass(id, idClass, fill, opacity, borderColor, borderWidth
1418
1449
  }
1419
1450
  }
1420
1451
  /**
1421
- * Internal use of append shape element
1452
+ * Internal use of append shape element.
1422
1453
  *
1423
1454
  * @param {Element} shape - Specifies the shape
1424
1455
  * @param {Element} element - Specifies the element
@@ -1432,7 +1463,7 @@ function appendShape(shape, element) {
1432
1463
  return shape;
1433
1464
  }
1434
1465
  /**
1435
- * Internal rendering of Circle
1466
+ * Internal rendering of Circle.
1436
1467
  *
1437
1468
  * @param {Maps} maps - Specifies the instance of the maps
1438
1469
  * @param {CircleOption} options - Specifies the circle options
@@ -1444,7 +1475,7 @@ function drawCircle(maps, options, element) {
1444
1475
  return appendShape(maps.renderer.drawCircle(options), element);
1445
1476
  }
1446
1477
  /**
1447
- * Internal rendering of Rectangle
1478
+ * Internal rendering of Rectangle.
1448
1479
  *
1449
1480
  * @param {Maps} maps - Specifies the instance of the maps
1450
1481
  * @param {RectOption} options - Specifies the rect options
@@ -1456,7 +1487,7 @@ function drawRectangle(maps, options, element) {
1456
1487
  return appendShape(maps.renderer.drawRectangle(options), element);
1457
1488
  }
1458
1489
  /**
1459
- * Internal rendering of Path
1490
+ * Internal rendering of Path.
1460
1491
  *
1461
1492
  * @param {Maps} maps - Specifies the instance of the maps
1462
1493
  * @param {PathOption} options - Specifies the polygon options
@@ -1468,7 +1499,7 @@ function drawPath(maps, options, element) {
1468
1499
  return appendShape(maps.renderer.drawPath(options), element);
1469
1500
  }
1470
1501
  /**
1471
- * Internal rendering of Polygon
1502
+ * Internal rendering of Polygon.
1472
1503
  *
1473
1504
  * @param {Maps} maps - Specifies the instance of the maps
1474
1505
  * @param {PolygonOption} options - Specifies the polygon options
@@ -1480,7 +1511,7 @@ function drawPolygon(maps, options, element) {
1480
1511
  return appendShape(maps.renderer.drawPolygon(options), element);
1481
1512
  }
1482
1513
  /**
1483
- * Internal rendering of Polyline
1514
+ * Internal rendering of Polyline.
1484
1515
  *
1485
1516
  * @param {Maps} maps - Specifies the instance of the maps
1486
1517
  * @param {PolylineOption} options - Specifies the poly line options
@@ -1492,7 +1523,7 @@ function drawPolyline(maps, options, element) {
1492
1523
  return appendShape(maps.renderer.drawPolyline(options), element);
1493
1524
  }
1494
1525
  /**
1495
- * Internal rendering of Line
1526
+ * Internal rendering of Line.
1496
1527
  *
1497
1528
  * @param {Maps} maps - Specifies the instance of the maps
1498
1529
  * @param {LineOption} options - Specifies the line options
@@ -1504,7 +1535,7 @@ function drawLine(maps, options, element) {
1504
1535
  return appendShape(maps.renderer.drawLine(options), element);
1505
1536
  }
1506
1537
  /**
1507
- * Calculate marker shapes
1538
+ * Calculate marker shapes.
1508
1539
  *
1509
1540
  * @param {Maps} maps - Specifies the instance of the maps
1510
1541
  * @param {MarkerType} shape - Specifies the marker type
@@ -1571,7 +1602,7 @@ function calculateShapes(maps, shape, options, size, location, markerEle) {
1571
1602
  return shape === 'Balloon' ? tempGroup : maps.renderer.drawPath(options);
1572
1603
  }
1573
1604
  /**
1574
- * Internal rendering of Diamond
1605
+ * Internal rendering of Diamond.
1575
1606
  *
1576
1607
  * @param {Maps} maps - Specifies the instance of the maps
1577
1608
  * @param {PathOption} options - Specifies the path options
@@ -1587,7 +1618,7 @@ function drawDiamond(maps, options, size, location, element) {
1587
1618
  return appendShape(maps.renderer.drawPath(options), element);
1588
1619
  }
1589
1620
  /**
1590
- * Internal rendering of Triangle
1621
+ * Internal rendering of Triangle.
1591
1622
  *
1592
1623
  * @param {Maps} maps - Specifies the instance of the maps
1593
1624
  * @param {PathOption} options - Specifies the path options
@@ -1603,7 +1634,7 @@ function drawTriangle(maps, options, size, location, element) {
1603
1634
  return appendShape(maps.renderer.drawPath(options), element);
1604
1635
  }
1605
1636
  /**
1606
- * Internal rendering of Cross
1637
+ * Internal rendering of Cross.
1607
1638
  *
1608
1639
  * @param {Maps} maps - Specifies the instance of the maps
1609
1640
  * @param {PathOption} options - Specifies the path options
@@ -1619,7 +1650,7 @@ function drawCross(maps, options, size, location, element) {
1619
1650
  return appendShape(maps.renderer.drawPath(options), element);
1620
1651
  }
1621
1652
  /**
1622
- * Internal rendering of HorizontalLine
1653
+ * Internal rendering of HorizontalLine.
1623
1654
  *
1624
1655
  * @param {Maps} maps - Specifies the instance of the maps
1625
1656
  * @param {PathOption} options - Specifies the path options
@@ -1634,7 +1665,7 @@ function drawHorizontalLine(maps, options, size, location, element) {
1634
1665
  return appendShape(maps.renderer.drawPath(options), element);
1635
1666
  }
1636
1667
  /**
1637
- * Internal rendering of VerticalLine
1668
+ * Internal rendering of VerticalLine.
1638
1669
  *
1639
1670
  * @param {Maps} maps - Specifies the instance of the maps
1640
1671
  * @param {PathOption} options - Specifies the path options
@@ -1649,7 +1680,7 @@ function drawVerticalLine(maps, options, size, location, element) {
1649
1680
  return appendShape(maps.renderer.drawPath(options), element);
1650
1681
  }
1651
1682
  /**
1652
- * Internal rendering of Star
1683
+ * Internal rendering of Star.
1653
1684
  *
1654
1685
  * @param {Maps} maps - Specifies the instance of the maps
1655
1686
  * @param {PathOption} options - Specifies the path options
@@ -1667,7 +1698,7 @@ function drawStar(maps, options, size, location, element) {
1667
1698
  return appendShape(maps.renderer.drawPath(options), element);
1668
1699
  }
1669
1700
  /**
1670
- * Internal rendering of Balloon
1701
+ * Internal rendering of Balloon.
1671
1702
  *
1672
1703
  * @param {Maps} maps - Specifies the instance of the maps
1673
1704
  * @param {PathOption} options - Specifies the path options
@@ -1701,7 +1732,7 @@ function drawBalloon(maps, options, size, location, type, element) {
1701
1732
  return pathElement;
1702
1733
  }
1703
1734
  /**
1704
- * Internal rendering of Pattern
1735
+ * Internal rendering of Pattern.
1705
1736
  *
1706
1737
  * @param {Maps} maps - Specifies the instance of the maps
1707
1738
  * @param {PatternOptions} options - Specifies the pattern options
@@ -1745,7 +1776,7 @@ function getFieldData(dataSource, fields) {
1745
1776
  return newData;
1746
1777
  }
1747
1778
  /**
1748
- * To find the index of dataSource from shape properties
1779
+ * To find the index of dataSource from shape properties.
1749
1780
  *
1750
1781
  * @param {any[]} dataSource - Specifies the data source
1751
1782
  * @param {any} properties - Specifies the properties
@@ -1755,7 +1786,7 @@ function getFieldData(dataSource, fields) {
1755
1786
  * @returns {number} - Returns the number
1756
1787
  * @private
1757
1788
  */
1758
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
1789
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1759
1790
  function checkShapeDataFields(dataSource, properties, dataPath, propertyPath,
1760
1791
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1761
1792
  layer) {
@@ -1838,7 +1869,7 @@ function getRatioOfBubble(min, max, value, minValue, maxValue) {
1838
1869
  return bubbleRadius;
1839
1870
  }
1840
1871
  /**
1841
- * To find the midpoint of the polygon from points
1872
+ * To find the midpoint of the polygon from points.
1842
1873
  *
1843
1874
  * @param {MapLocation[]} points - Specifies the points
1844
1875
  * @param {string} type - Specifies the type
@@ -1934,7 +1965,7 @@ function findMidPointOfPolygon(points, type, geometryType) {
1934
1965
  };
1935
1966
  }
1936
1967
  /**
1937
- * Check custom path
1968
+ * Check custom path.
1938
1969
  *
1939
1970
  * @param {any[]} layerData - Specifies the layer data
1940
1971
  * @returns {boolean} - Returns the boolean vlue
@@ -1953,7 +1984,7 @@ function isCustomPath(layerData) {
1953
1984
  return customPath;
1954
1985
  }
1955
1986
  /**
1956
- * Trim the title text
1987
+ * Trim the title text.
1957
1988
  *
1958
1989
  * @param {number} maxWidth - Specifies the maximum width
1959
1990
  * @param {string} text - Specifies the text
@@ -2001,7 +2032,7 @@ function textTrim(maxWidth, text, font, width, isCanvasMeasure, widthList) {
2001
2032
  return label;
2002
2033
  }
2003
2034
  /**
2004
- * Method to calculate x position of title
2035
+ * Method to calculate x position of title.
2005
2036
  *
2006
2037
  * @param {Rect} location - Specifies the location
2007
2038
  * @param {Alignment} alignment - Specifies the alignment
@@ -2029,7 +2060,7 @@ function findPosition(location, alignment, textSize, type) {
2029
2060
  return new Point(x, y);
2030
2061
  }
2031
2062
  /**
2032
- * To remove element by id
2063
+ * To remove element by id.
2033
2064
  *
2034
2065
  * @param {string} id - Specifies the id
2035
2066
  * @returns {void}
@@ -2040,7 +2071,7 @@ function removeElement(id) {
2040
2071
  return element ? remove(element) : null;
2041
2072
  }
2042
2073
  /**
2043
- * To calculate map center position from pixel values
2074
+ * To calculate map center position from pixel values.
2044
2075
  *
2045
2076
  * @param {Maps} mapObject - Specifies the map object
2046
2077
  * @param {LayerSettings} layer - Specifies the layer settings
@@ -2375,7 +2406,7 @@ function getZoomTranslate(mapObject, layer, animate) {
2375
2406
  return { scale: animate ? 1 : scaleFactor, location: new Point(x, y) };
2376
2407
  }
2377
2408
  /**
2378
- * To get the html element by specified id
2409
+ * To get the html element by specified id.
2379
2410
  *
2380
2411
  * @param {Maps} map - Specifies the instance of the maps
2381
2412
  * @returns {void}
@@ -2392,7 +2423,7 @@ function fixInitialScaleForTile(map) {
2392
2423
  map.previousTileHeight = map.availableSize.height;
2393
2424
  }
2394
2425
  /**
2395
- * To get the html element by specified id
2426
+ * To get the html element by specified id.
2396
2427
  *
2397
2428
  * @param {string} id - Specifies the id
2398
2429
  * @returns {Element} - Returns the element
@@ -2418,7 +2449,7 @@ function getClientElement(id) {
2418
2449
  }
2419
2450
  }
2420
2451
  /**
2421
- * To apply internalization
2452
+ * To apply internalization.
2422
2453
  *
2423
2454
  * @param {Maps} maps - Specifies the instance of the maps
2424
2455
  * @param {number} value - Specifies the value
@@ -2470,7 +2501,7 @@ function getElement(id) {
2470
2501
  return document.getElementById(id);
2471
2502
  }
2472
2503
  /**
2473
- * Function to get shape data using target id
2504
+ * Function to get shape data using target id.
2474
2505
  *
2475
2506
  * @param {string} targetId - Specifies the target id
2476
2507
  * @param {Maps} map - Specifies the instance of the maps
@@ -2493,7 +2524,7 @@ function getShapeData(targetId, map) {
2493
2524
  return { shapeData: shapeData, data: data };
2494
2525
  }
2495
2526
  /**
2496
- * Function to trigger shapeSelected event
2527
+ * Function to trigger shapeSelected event.
2497
2528
  *
2498
2529
  * @param {string} targetId - Specifies the target id
2499
2530
  * @param {SelectionSettingsModel} selection - Specifies the selection
@@ -2537,7 +2568,7 @@ function triggerShapeEvent(targetId, selection, maps, eventName) {
2537
2568
  return eventArgs;
2538
2569
  }
2539
2570
  /**
2540
- * Function to get elements using class name
2571
+ * Function to get elements using class name.
2541
2572
  *
2542
2573
  * @param {string} className - Specifies the class name
2543
2574
  * @returns {HTMLCollectionOf<Element>} - Returns the collection
@@ -2553,7 +2584,7 @@ function getElementsByClassName(className) {
2553
2584
  // return element.querySelectorAll('.' + args);
2554
2585
  // }
2555
2586
  /**
2556
- * Function to get elements using querySelector
2587
+ * Function to get elements using querySelector.
2557
2588
  *
2558
2589
  * @param {string} args - Specifies the args
2559
2590
  * @param {string} elementSelector - Specifies the element selector
@@ -2568,7 +2599,7 @@ function querySelector(args, elementSelector) {
2568
2599
  return targetEle;
2569
2600
  }
2570
2601
  /**
2571
- * Function to get the element for selection and highlight using public method
2602
+ * Function to get the element for selection and highlight using public method.
2572
2603
  *
2573
2604
  * @param {number} layerIndex - Specifies the layer index
2574
2605
  * @param {string} name - Specifies the layer name
@@ -2591,7 +2622,7 @@ function getTargetElement(layerIndex, name, enable, map) {
2591
2622
  return targetEle;
2592
2623
  }
2593
2624
  /**
2594
- * Function to create style element for highlight and selection
2625
+ * Function to create style element for highlight and selection.
2595
2626
  *
2596
2627
  * @param {string} id - Specifies the id
2597
2628
  * @param {string} className - Specifies the class name
@@ -2612,7 +2643,7 @@ function createStyle(id, className, eventArgs) {
2612
2643
  return styleEle;
2613
2644
  }
2614
2645
  /**
2615
- * Function to customize the style for highlight and selection
2646
+ * Function to customize the style for highlight and selection.
2616
2647
  *
2617
2648
  * @param {string} id - Specifies the id
2618
2649
  * @param {string} className - Specifies the class name
@@ -2632,7 +2663,7 @@ function customizeStyle(id, className, eventArgs) {
2632
2663
  }
2633
2664
  }
2634
2665
  /**
2635
- * Function to trigger itemSelection event for legend selection and public method
2666
+ * Function to trigger itemSelection event for legend selection and public method.
2636
2667
  *
2637
2668
  * @param {SelectionSettingsModel} selectionSettings - Specifies the selection settings
2638
2669
  * @param {Maps} map - Specifies the instance of the maps
@@ -2673,7 +2704,7 @@ function triggerItemSelectionEvent(selectionSettings, map, targetElement, shapeD
2673
2704
  });
2674
2705
  }
2675
2706
  /**
2676
- * Function to remove class from element
2707
+ * Function to remove class from element.
2677
2708
  *
2678
2709
  * @param {Element} element - Specifies the element
2679
2710
  * @returns {void}
@@ -2704,7 +2735,7 @@ function elementAnimate(element, delay, duration, point, maps, ele, radius = 0)
2704
2735
  duration: (duration === 0 && animationMode === 'Enable') ? 1000 : duration,
2705
2736
  delay: delay,
2706
2737
  progress: (args) => {
2707
- if (args.timeStamp > args.delay) {
2738
+ if ((args.timeStamp > args.delay) && !maps.zoomModule.isPanningInProgress) {
2708
2739
  if (maps.isTileMap && height === 0) {
2709
2740
  const layerGroupElement = document.querySelector('.GroupElement');
2710
2741
  if (!isNullOrUndefined(layerGroupElement)) {
@@ -2718,7 +2749,10 @@ function elementAnimate(element, delay, duration, point, maps, ele, radius = 0)
2718
2749
  },
2719
2750
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2720
2751
  end: (model) => {
2721
- element.setAttribute('transform', transform);
2752
+ if (!maps.zoomModule.isPanningInProgress) {
2753
+ element.setAttribute('transform', transform);
2754
+ }
2755
+ maps.zoomModule.isPanningInProgress = false;
2722
2756
  if (!ele) {
2723
2757
  return;
2724
2758
  }
@@ -3150,7 +3184,8 @@ function changeNavaigationLineWidth(element, index, scale, maps) {
3150
3184
  /**
3151
3185
  * @param {PointerEvent | TouchEvent} event - Specifies the pointer or touch event
3152
3186
  * @returns {ITouches[]} - Returns the target
3153
- * @private */
3187
+ * @private
3188
+ */
3154
3189
  function targetTouches(event) {
3155
3190
  const targetTouches = [];
3156
3191
  const touches = event.touches;
@@ -3174,7 +3209,8 @@ function calculateScale(startTouches, endTouches) {
3174
3209
  * @param {ITouches} a - Specifies the a value
3175
3210
  * @param {ITouches} b - Specifies the b value
3176
3211
  * @returns {number} - Returns the number
3177
- * @private */
3212
+ * @private
3213
+ */
3178
3214
  function getDistance(a, b) {
3179
3215
  const x = a.pageX - b.pageX;
3180
3216
  const y = a.pageY - b.pageY;
@@ -3222,7 +3258,7 @@ function sum(a, b) {
3222
3258
  return a + b;
3223
3259
  }
3224
3260
  /**
3225
- * Animation Effect Calculation End
3261
+ * Animation Effect Calculation End.
3226
3262
  *
3227
3263
  * @param {Element} element - Specifies the element.
3228
3264
  * @param {number} delay - Specifies the delay.
@@ -3288,7 +3324,7 @@ function zoomAnimate(element, delay, duration, point, scale, size, maps) {
3288
3324
  });
3289
3325
  }
3290
3326
  /**
3291
- * To process custom animation
3327
+ * To process custom animation.
3292
3328
  *
3293
3329
  * @param {Element} element - Specifies the element
3294
3330
  * @param {number} delay - Specifies the delay
@@ -3338,7 +3374,7 @@ class MapAjax {
3338
3374
  }
3339
3375
  }
3340
3376
  /**
3341
- * Animation Translate
3377
+ * Animation Translate.
3342
3378
  *
3343
3379
  * @param {Element} element - Specifies the element
3344
3380
  * @param {number} delay - Specifies the delay
@@ -3370,7 +3406,7 @@ function smoothTranslate(element, delay, duration, point) {
3370
3406
  });
3371
3407
  }
3372
3408
  /**
3373
- * To find compare should zoom factor with previous factor and current factor
3409
+ * To find compare should zoom factor with previous factor and current factor.
3374
3410
  *
3375
3411
  * @param {number} scaleFactor - Specifies the scale factor
3376
3412
  * @param {Maps} maps - Specifies the instance of the maps
@@ -3396,7 +3432,7 @@ function compareZoomFactor(scaleFactor, maps) {
3396
3432
  }
3397
3433
  }
3398
3434
  /**
3399
- * To find zoom level for the min and max latitude values
3435
+ * To find zoom level for the min and max latitude values.
3400
3436
  *
3401
3437
  * @param {number} minLat - Specifies the minimum latitude
3402
3438
  * @param {number} maxLat - Specifies the maximum latitude
@@ -3441,13 +3477,13 @@ function calculateZoomLevel(minLat, maxLat, minLong, maxLong, mapWidth, mapHeigh
3441
3477
  return scaleFactor;
3442
3478
  }
3443
3479
  /**
3444
- * Method to get the result
3480
+ * Method to get the result.
3445
3481
  *
3446
3482
  * @param {any} e - Specifies the any type value
3447
3483
  * @returns {any} - Returns the data value
3448
3484
  * @private
3449
3485
  */
3450
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
3486
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3451
3487
  function processResult(e) {
3452
3488
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3453
3489
  let dataValue;
@@ -3775,7 +3811,7 @@ var DarkTheme;
3775
3811
  };
3776
3812
  })(DarkTheme || (DarkTheme = {}));
3777
3813
  /**
3778
- * Method to get the theme style
3814
+ * Method to get the theme style.
3779
3815
  *
3780
3816
  * @param {MapsTheme} theme - Specifies the theme.
3781
3817
  * @returns {IThemeStyle} - Returns the theme style.
@@ -4366,6 +4402,9 @@ __decorate$1([
4366
4402
  __decorate$1([
4367
4403
  Property(null)
4368
4404
  ], TooltipSettings.prototype, "valuePath", void 0);
4405
+ __decorate$1([
4406
+ Property(2000)
4407
+ ], TooltipSettings.prototype, "duration", void 0);
4369
4408
  /**
4370
4409
  * Specifies the properties such as visibility, fill, border and text style to customize the tooltip.
4371
4410
  */
@@ -4383,6 +4422,9 @@ __decorate$1([
4383
4422
  __decorate$1([
4384
4423
  Complex({ fontFamily: null, size: null, fontWeight: null }, Font)
4385
4424
  ], PolygonTooltipSettings.prototype, "textStyle", void 0);
4425
+ __decorate$1([
4426
+ Property(2000)
4427
+ ], PolygonTooltipSettings.prototype, "duration", void 0);
4386
4428
  /**
4387
4429
  * Gets or sets the options to customize the margin of the maps.
4388
4430
  */
@@ -5079,7 +5121,7 @@ __decorate$1([
5079
5121
  * Gets or sets the options to customize the markers in the maps.
5080
5122
  */
5081
5123
  class MarkerSettings extends MarkerBase {
5082
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
5124
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5083
5125
  constructor(parent, propName, defaultValue, isArray) {
5084
5126
  super(parent, propName, defaultValue, isArray);
5085
5127
  }
@@ -5405,22 +5447,18 @@ const zoomComplete = 'zoomComplete';
5405
5447
  const itemHighlight = 'itemHighlight';
5406
5448
  /**
5407
5449
  * Specifies the maps before print event name.
5408
- *
5409
5450
  */
5410
5451
  const beforePrint = 'beforePrint';
5411
5452
  /**
5412
5453
  * Specifies the maps zoom in event name.
5413
- *
5414
5454
  */
5415
5455
  const zoomIn = 'zoomIn';
5416
5456
  /**
5417
5457
  * Specifies the maps zoom out event name.
5418
- *
5419
5458
  */
5420
5459
  const zoomOut = 'zoomOut';
5421
5460
  /**
5422
5461
  * Specifies the maps pan event name.
5423
- *
5424
5462
  */
5425
5463
  const pan = 'pan';
5426
5464
 
@@ -5480,7 +5518,7 @@ class ColorMapping {
5480
5518
  * @param { ShapeSettingsModel } shapeSettings - Specifies the shape settings.
5481
5519
  * @param { object } layerData - Specifies the layer data.
5482
5520
  * @param { string } color - Specifies the color.
5483
- * @returns {Object} - Returns the object.
5521
+ * @returns {object} - Returns the object.
5484
5522
  * @private
5485
5523
  */
5486
5524
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -5494,7 +5532,7 @@ class ColorMapping {
5494
5532
  return !isNullOrUndefined(shapeColor) ? shapeColor : color;
5495
5533
  }
5496
5534
  /**
5497
- * To color by value and color mapping
5535
+ * To color by value and color mapping.
5498
5536
  *
5499
5537
  * @param {ColorMappingSettingsModel[]} colorMapping - Specifies the color mapping instance.
5500
5538
  * @param {number} colorValue - Specifies the color value
@@ -6319,18 +6357,9 @@ class LayerPanel {
6319
6357
  pathEle.style.cssText = 'outline:none';
6320
6358
  }
6321
6359
  maintainSelection(this.mapObject.selectedElementId, this.mapObject.shapeSelectionClass, pathEle, 'ShapeselectionMapStyle');
6322
- if (this.mapObject.toggledShapeElementId) {
6323
- for (let j = 0; j < this.mapObject.toggledShapeElementId.length; j++) {
6324
- const styleProperty = this.mapObject.legendSettings.toggleLegendSettings.applyShapeSettings ?
6325
- this.currentLayer.shapeSettings : this.mapObject.legendSettings.toggleLegendSettings;
6326
- if (this.mapObject.toggledShapeElementId[j] === pathEle.id) {
6327
- pathEle.setAttribute('fill', styleProperty.fill);
6328
- pathEle.setAttribute('stroke', styleProperty.border.color);
6329
- pathEle.setAttribute('fill-opacity', (styleProperty.opacity).toString());
6330
- pathEle.setAttribute('stroke-opacity', (isNullOrUndefined(styleProperty.border.opacity) ? styleProperty.opacity : styleProperty.border.opacity).toString());
6331
- pathEle.setAttribute('stroke-width', (isNullOrUndefined(styleProperty.border.width) ? 0 : styleProperty.border.width).toString());
6332
- }
6333
- }
6360
+ if (this.mapObject.legendSettings.toggleLegendSettings.enable && this.mapObject.legendSettings.type === 'Layers') {
6361
+ maintainToggleSelection(this.mapObject.toggledElementId, pathEle, this.mapObject.legendSettings.toggleLegendSettings.applyShapeSettings ? this.currentLayer.shapeSettings
6362
+ : this.mapObject.legendSettings.toggleLegendSettings);
6334
6363
  }
6335
6364
  groupElement.appendChild(pathEle);
6336
6365
  }
@@ -6400,7 +6429,7 @@ class LayerPanel {
6400
6429
  this.layerGroup.appendChild(this.layerObject);
6401
6430
  }
6402
6431
  /**
6403
- * render datalabel
6432
+ * render datalabel.
6404
6433
  *
6405
6434
  * @param {LayerSettings} layer - Specifies the layer
6406
6435
  * @param {number} layerIndex - Specifies the layer index
@@ -6417,7 +6446,7 @@ class LayerPanel {
6417
6446
  this.mapObject.dataLabelModule.renderLabel(layer, layerIndex, shape, layer.layerData, group, labelTemplateEle, shapeIndex, intersect);
6418
6447
  }
6419
6448
  /**
6420
- * To render path for multipolygon
6449
+ * To render path for multipolygon.
6421
6450
  *
6422
6451
  * @param {any[]} currentShapeData Specifies the current shape data
6423
6452
  * @returns {string} Returns the path
@@ -6439,7 +6468,7 @@ class LayerPanel {
6439
6468
  return path;
6440
6469
  }
6441
6470
  /**
6442
- * To render bubble
6471
+ * To render bubble.
6443
6472
  *
6444
6473
  * @param {LayerSettings} layer - Specifies the layer
6445
6474
  * @param {object} bubbleData - Specifies the bubble data
@@ -6466,7 +6495,7 @@ class LayerPanel {
6466
6495
  this.mapObject.bubbleModule.renderBubble(bubbleSettings, bubbleData, color, range, bubbleIndex, dataIndex, layerIndex, layer, group, this.mapObject.bubbleModule.id);
6467
6496
  }
6468
6497
  /**
6469
- * To get the shape color from color mapping module
6498
+ * To get the shape color from color mapping module.
6470
6499
  *
6471
6500
  * @param {LayerSettingsModel} layer - Specifies the layer
6472
6501
  * @param {any} shape - Specifies the shape
@@ -7027,7 +7056,7 @@ class LayerPanel {
7027
7056
  }
7028
7057
  }
7029
7058
  /**
7030
- * Animation for tile layers and hide the group element until the tile layer rendering
7059
+ * Animation for tile layers and hide the group element until the tile layer rendering.
7031
7060
  *
7032
7061
  * @param {string} zoomType - Specifies the zoom type
7033
7062
  * @param {number} translateX - Specifies the x translate point
@@ -7056,7 +7085,7 @@ class LayerPanel {
7056
7085
  }
7057
7086
  }
7058
7087
  /**
7059
- * Static map rendering
7088
+ * Static map rendering.
7060
7089
  *
7061
7090
  * @param {string} apikey - Specifies the api key
7062
7091
  * @param {number} zoom - Specifies the zoom value
@@ -7113,7 +7142,7 @@ class LayerPanel {
7113
7142
  + eleHeight + 'px"><img src="' + staticMapString + '"' + 'alt="' + this.mapObject.getLocalizedLabel('ImageNotFound') + '"></div>';
7114
7143
  }
7115
7144
  /**
7116
- * To find the tile translate point
7145
+ * To find the tile translate point.
7117
7146
  *
7118
7147
  * @param {number} factorX - Specifies the x factor
7119
7148
  * @param {number} factorY - Specifies the x factor
@@ -7216,13 +7245,12 @@ class Annotations {
7216
7245
  this.map.renderReactTemplates();
7217
7246
  }
7218
7247
  /**
7219
- * To create annotation elements
7248
+ * To create annotation elements.
7220
7249
  *
7221
7250
  * @param {HTMLElement} parentElement - Specifies the parent element in the map.
7222
7251
  * @param {Annotation} annotation - Specifies the options for customizing the annotation element in maps.
7223
7252
  * @param {number} annotationIndex - Specifies the index of the annotation.
7224
7253
  * @returns {void}
7225
- *
7226
7254
  * @private
7227
7255
  */
7228
7256
  createAnnotationTemplate(parentElement, annotation, annotationIndex) {
@@ -7336,7 +7364,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
7336
7364
  */
7337
7365
  let Maps = class Maps extends Component {
7338
7366
  /**
7339
- * Constructor for creating the widget
7367
+ * Constructor for creating the widget.
7340
7368
  *
7341
7369
  * @param {MapsModel} options Specifies the options
7342
7370
  * @param {string | HTMLElement} element Specifies the element
@@ -7344,7 +7372,7 @@ let Maps = class Maps extends Component {
7344
7372
  constructor(options, element) {
7345
7373
  super(options, element);
7346
7374
  /**
7347
- * Check layer whether is geometry or tile
7375
+ * Check layer whether is geometry or tile.
7348
7376
  *
7349
7377
  * @private
7350
7378
  */
@@ -7416,7 +7444,7 @@ let Maps = class Maps extends Component {
7416
7444
  /** @private */
7417
7445
  this.toggledLegendId = [];
7418
7446
  /** @private */
7419
- this.toggledShapeElementId = [];
7447
+ this.toggledElementId = [];
7420
7448
  /** @private */
7421
7449
  this.checkInitialRender = true;
7422
7450
  /** @private */
@@ -7453,7 +7481,7 @@ let Maps = class Maps extends Component {
7453
7481
  return this.mapSelect;
7454
7482
  }
7455
7483
  /**
7456
- * To manage persist maps data
7484
+ * To manage persist maps data.
7457
7485
  *
7458
7486
  * @returns {void}
7459
7487
  */
@@ -7803,7 +7831,7 @@ let Maps = class Maps extends Component {
7803
7831
  //eslint-enable @typescript-eslint/prefer-const
7804
7832
  }
7805
7833
  /**
7806
- * To apply color to the initial selected marker
7834
+ * To apply color to the initial selected marker.
7807
7835
  *
7808
7836
  * @param {SelectionSettingsModel} selectionSettings - Specifies the selection settings
7809
7837
  * @param {Maps} map - Specifies the instance of the maps
@@ -7845,7 +7873,7 @@ let Maps = class Maps extends Component {
7845
7873
  }
7846
7874
  }
7847
7875
  /**
7848
- * initial selection of marker
7876
+ * initial selection of marker.
7849
7877
  *
7850
7878
  * @param {number} layerIndex - Specifies the layer index
7851
7879
  * @param {number} markerIndex - Specifies the marker index
@@ -7870,7 +7898,7 @@ let Maps = class Maps extends Component {
7870
7898
  }
7871
7899
  }
7872
7900
  /**
7873
- * Render the map area border
7901
+ * Render the map area border.
7874
7902
  *
7875
7903
  * @returns {void}
7876
7904
  */
@@ -7887,7 +7915,7 @@ let Maps = class Maps extends Component {
7887
7915
  }
7888
7916
  }
7889
7917
  /**
7890
- * To add tab index for map element
7918
+ * To add tab index for map element.
7891
7919
  *
7892
7920
  * @returns {void}
7893
7921
  */
@@ -8108,7 +8136,7 @@ let Maps = class Maps extends Component {
8108
8136
  });
8109
8137
  }
8110
8138
  /**
8111
- * Render the map border
8139
+ * Render the map border.
8112
8140
  *
8113
8141
  * @private
8114
8142
  * @returns {void}
@@ -8129,7 +8157,7 @@ let Maps = class Maps extends Component {
8129
8157
  }
8130
8158
  }
8131
8159
  /**
8132
- * Render the title and subtitle
8160
+ * Render the title and subtitle.
8133
8161
  *
8134
8162
  * @param {TitleSettingsModel} title - Specifies the title
8135
8163
  * @param {string} type - Specifies the type
@@ -8182,7 +8210,7 @@ let Maps = class Maps extends Component {
8182
8210
  }
8183
8211
  }
8184
8212
  /**
8185
- * To create svg element for maps
8213
+ * To create svg element for maps.
8186
8214
  *
8187
8215
  * @returns {void}
8188
8216
  */
@@ -8191,7 +8219,7 @@ let Maps = class Maps extends Component {
8191
8219
  createSvg(this);
8192
8220
  }
8193
8221
  /**
8194
- * To Remove the SVG
8222
+ * To Remove the SVG.
8195
8223
  *
8196
8224
  * @returns {void}
8197
8225
  */
@@ -8481,7 +8509,7 @@ let Maps = class Maps extends Component {
8481
8509
  return latLongValue;
8482
8510
  }
8483
8511
  /**
8484
- * Gets the location of the mouse click
8512
+ * Gets the location of the mouse click.
8485
8513
  *
8486
8514
  * @param {string} targetId - Specifies the ID for the target.
8487
8515
  * @param {number} pageX - Defines the page X position.
@@ -8490,10 +8518,8 @@ let Maps = class Maps extends Component {
8490
8518
  * @param {number} x - Defines the x position in pixel.
8491
8519
  * @param {number} y - Defines the y position in pixel.
8492
8520
  * @param {string} type - Specifies the type.
8493
- * @returns {GeoPosition} - Returns the position of the event
8494
- *
8521
+ * @returns {GeoPosition} - Returns the position of the event.
8495
8522
  * @private
8496
- *
8497
8523
  */
8498
8524
  getClickLocation(targetId, pageX, pageY, targetElement, x, y, type) {
8499
8525
  let layerIndex = 0;
@@ -8565,7 +8591,7 @@ let Maps = class Maps extends Component {
8565
8591
  }
8566
8592
  }
8567
8593
  else {
8568
- latLongValue = this.getGeoLocation(layerIndex, x, y);
8594
+ latLongValue = this.getGeoLocation(layerIndex, pageX, pageY);
8569
8595
  }
8570
8596
  }
8571
8597
  else if (this.isTileMap && (!isNullOrUndefined(type) ||
@@ -9001,7 +9027,7 @@ let Maps = class Maps extends Component {
9001
9027
  /**
9002
9028
  * This method is used to add the layers dynamically to the maps.
9003
9029
  *
9004
- * @param {Object} layer - Specifies the layer to be added in the maps.
9030
+ * @param {object} layer - Specifies the layer to be added in the maps.
9005
9031
  * @returns {void}
9006
9032
  */
9007
9033
  addLayer(layer) {
@@ -9282,7 +9308,7 @@ let Maps = class Maps extends Component {
9282
9308
  }
9283
9309
  super.destroy();
9284
9310
  this.shapeSelectionItem = [];
9285
- this.toggledShapeElementId = [];
9311
+ this.toggledElementId = [];
9286
9312
  this.toggledLegendId = [];
9287
9313
  this.legendSelectionCollection = [];
9288
9314
  this.selectedLegendElementId = [];
@@ -9343,7 +9369,7 @@ let Maps = class Maps extends Component {
9343
9369
  this.markerDragArgument = null;
9344
9370
  }
9345
9371
  /**
9346
- * Gets component name
9372
+ * Gets component name.
9347
9373
  *
9348
9374
  * @returns {string} - Returns the string value
9349
9375
  * @private
@@ -9461,7 +9487,7 @@ let Maps = class Maps extends Component {
9461
9487
  }
9462
9488
  }
9463
9489
  /**
9464
- * To provide the array of modules needed for maps rendering
9490
+ * To provide the array of modules needed for maps rendering.
9465
9491
  *
9466
9492
  * @returns {ModuleDeclaration[]} - Returns the modules
9467
9493
  * @private
@@ -9574,7 +9600,7 @@ let Maps = class Maps extends Component {
9574
9600
  return modules;
9575
9601
  }
9576
9602
  /**
9577
- * To find marker visibility
9603
+ * To find marker visibility.
9578
9604
  *
9579
9605
  * @returns {boolean} - Returns whether the markers are visible or not.
9580
9606
  */
@@ -9591,7 +9617,7 @@ let Maps = class Maps extends Component {
9591
9617
  return isVisible;
9592
9618
  }
9593
9619
  /**
9594
- * To find DataLabel visibility
9620
+ * To find DataLabel visibility.
9595
9621
  *
9596
9622
  * @returns {boolean} - Returns whether the data labels are visible or not.
9597
9623
  */
@@ -9606,7 +9632,7 @@ let Maps = class Maps extends Component {
9606
9632
  return isVisible;
9607
9633
  }
9608
9634
  /**
9609
- * To find navigation line visibility
9635
+ * To find navigation line visibility.
9610
9636
  *
9611
9637
  * @returns {boolean} - Returns whether the navigation lines are visible or not.
9612
9638
  */
@@ -9623,7 +9649,7 @@ let Maps = class Maps extends Component {
9623
9649
  return isVisible;
9624
9650
  }
9625
9651
  /**
9626
- * To find navigation line visibility
9652
+ * To find navigation line visibility.
9627
9653
  *
9628
9654
  * @returns {boolean} - Returns whether the navigation lines are visible or not.
9629
9655
  */
@@ -9640,7 +9666,7 @@ let Maps = class Maps extends Component {
9640
9666
  return isVisible;
9641
9667
  }
9642
9668
  /**
9643
- * To find marker visibility
9669
+ * To find marker visibility.
9644
9670
  *
9645
9671
  * @returns {boolean} - Returns whether the bubble is visible or not.
9646
9672
  */
@@ -9655,7 +9681,7 @@ let Maps = class Maps extends Component {
9655
9681
  return isVisible;
9656
9682
  }
9657
9683
  /**
9658
- * To find the bubble visibility from layer
9684
+ * To find the bubble visibility from layer.
9659
9685
  *
9660
9686
  * @param {LayerSettingsModel} layer - Spcifies the layer settings model
9661
9687
  * @returns {boolean} - Returns the boolean value
@@ -9818,8 +9844,12 @@ let Maps = class Maps extends Component {
9818
9844
  let longitude = 0;
9819
9845
  if (!this.isDestroyed) {
9820
9846
  const container = document.getElementById(this.element.id);
9821
- const pageX = x - (isNullOrUndefined(this.markerDragArgument) ? container.offsetLeft : 0);
9822
- const pageY = y - (isNullOrUndefined(this.markerDragArgument) ? container.offsetTop : 0);
9847
+ const elementClientRect = this.element.getBoundingClientRect();
9848
+ const bodyClientRect = document.body.getBoundingClientRect();
9849
+ const pageX = x - (isNullOrUndefined(this.markerDragArgument) ? container.offsetLeft ||
9850
+ (elementClientRect.left - bodyClientRect.left) : 0);
9851
+ const pageY = y - (isNullOrUndefined(this.markerDragArgument) ? container.offsetTop ||
9852
+ (elementClientRect.top - bodyClientRect.top) : 0);
9823
9853
  const currentLayer = this.layersCollection[layerIndex];
9824
9854
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9825
9855
  const translate = getTranslate(this, currentLayer, false);
@@ -9863,7 +9893,7 @@ let Maps = class Maps extends Component {
9863
9893
  *
9864
9894
  * @param {number} pageX - Specifies the x position value in pixels.
9865
9895
  * @param {number} pageY - Specifies the y position value in pixels.
9866
- * @returns {Object} - Returns the latitude and longitude values.
9896
+ * @returns {object} - Returns the latitude and longitude values.
9867
9897
  */
9868
9898
  pointToLatLong(pageX, pageY) {
9869
9899
  let latitude = 0;
@@ -10088,7 +10118,6 @@ class Bubble {
10088
10118
  * @param {Element} group - Specifies the element group
10089
10119
  * @param {string} bubbleID - Specifies the ID of the bubble
10090
10120
  * @returns {void}
10091
- *
10092
10121
  * @private
10093
10122
  */
10094
10123
  renderBubble(bubbleSettings, shapeData, color, range, bubbleIndex, dataIndex, layerIndex, layer, group, bubbleID) {
@@ -10261,7 +10290,7 @@ class Bubble {
10261
10290
  return points;
10262
10291
  }
10263
10292
  /**
10264
- * To check and trigger bubble click event
10293
+ * To check and trigger bubble click event.
10265
10294
  *
10266
10295
  * @param {PointerEvent} e - Specifies the pointer event argument.
10267
10296
  * @returns {void}
@@ -10284,7 +10313,7 @@ class Bubble {
10284
10313
  this.maps.trigger(bubbleClick, eventArgs);
10285
10314
  }
10286
10315
  /**
10287
- * To get bubble from target id
10316
+ * To get bubble from target id.
10288
10317
  *
10289
10318
  * @param {string} target - Specifies the target
10290
10319
  * @returns {object} - Returns the object
@@ -10308,7 +10337,7 @@ class Bubble {
10308
10337
  }
10309
10338
  // eslint-disable-next-line valid-jsdoc
10310
10339
  /**
10311
- * To check and trigger bubble move event
10340
+ * To check and trigger bubble move event.
10312
10341
  *
10313
10342
  * @param {PointerEvent} e - Specifies the pointer event argument.
10314
10343
  * @retruns {void}
@@ -10505,7 +10534,7 @@ class Marker {
10505
10534
  return scaleFactor;
10506
10535
  }
10507
10536
  /**
10508
- * To calculate center position and factor value dynamically
10537
+ * To calculate center position and factor value dynamically.
10509
10538
  *
10510
10539
  * @param {LayerSettings[]} layersCollection - Specifies the layer settings instance.
10511
10540
  * @returns {void}
@@ -10634,7 +10663,7 @@ class Marker {
10634
10663
  }
10635
10664
  }
10636
10665
  /**
10637
- * To check and trigger marker click event
10666
+ * To check and trigger marker click event.
10638
10667
  *
10639
10668
  * @param {PointerEvent} e - Specifies the pointer event argument.
10640
10669
  * @returns {void}
@@ -10696,7 +10725,7 @@ class Marker {
10696
10725
  }
10697
10726
  }
10698
10727
  /**
10699
- * To check and trigger Cluster click event
10728
+ * To check and trigger Cluster click event.
10700
10729
  *
10701
10730
  * @param {PointerEvent} e - Specifies the pointer event argument.
10702
10731
  * @returns {void}
@@ -10735,7 +10764,7 @@ class Marker {
10735
10764
  this.maps.trigger(markerClusterClick, eventArgs);
10736
10765
  }
10737
10766
  /**
10738
- * To get marker from target id
10767
+ * To get marker from target id.
10739
10768
  *
10740
10769
  * @param {string} target - Specifies the target
10741
10770
  * @returns {object} - Returns the marker, data, clusterCollection, markCollection
@@ -10790,7 +10819,7 @@ class Marker {
10790
10819
  return null;
10791
10820
  }
10792
10821
  /**
10793
- * To check and trigger marker move event
10822
+ * To check and trigger marker move event.
10794
10823
  *
10795
10824
  * @param {PointerEvent} e - Specifies the pointer event argument.
10796
10825
  * @returns {void}
@@ -10816,7 +10845,7 @@ class Marker {
10816
10845
  this.maps.trigger(markerMouseMove, eventArgs);
10817
10846
  }
10818
10847
  /**
10819
- * To check and trigger cluster move event
10848
+ * To check and trigger cluster move event.
10820
10849
  *
10821
10850
  * @param {PointerEvent} e - Specifies the pointer event argument.
10822
10851
  * @returns {void}
@@ -10840,8 +10869,8 @@ class Marker {
10840
10869
  };
10841
10870
  this.maps.trigger(markerClusterMouseMove, eventArgs);
10842
10871
  }
10843
- /** @private
10844
- *
10872
+ /**
10873
+ * @private
10845
10874
  * @returns {void}
10846
10875
  */
10847
10876
  initializeMarkerClusterList() {
@@ -10885,7 +10914,7 @@ class Polygon {
10885
10914
  /* eslint-enable @typescript-eslint/no-unused-vars */
10886
10915
  /* eslint-enable @typescript-eslint/no-empty-function */
10887
10916
  /**
10888
- * To render polygon for maps
10917
+ * To render polygon for maps.
10889
10918
  *
10890
10919
  * @param {Maps} maps - Specifies the layer instance to which the polygon is to be rendered.
10891
10920
  * @param {number} layerIndex -Specifies the index of current layer.
@@ -10961,7 +10990,7 @@ class DataLabel {
10961
10990
  return text;
10962
10991
  }
10963
10992
  /**
10964
- * To render label for maps
10993
+ * To render label for maps.
10965
10994
  *
10966
10995
  * @param {LayerSettings} layer - Specifies the layer settings
10967
10996
  * @param {number} layerIndex - Specifies the layer index.
@@ -11382,7 +11411,7 @@ class NavigationLine {
11382
11411
  this.maps = maps;
11383
11412
  }
11384
11413
  /**
11385
- * To render navigation line for maps
11414
+ * To render navigation line for maps.
11386
11415
  *
11387
11416
  * @param {LayerSettings} layer - Specifies the layer instance to which the navigation line is to be rendered.
11388
11417
  * @param {number} factor - Specifies the current zoom factor of the Maps.
@@ -11971,10 +12000,14 @@ class Legend {
11971
12000
  textOptions = new TextOption(textId, textLocation.x, textLocation.y, 'middle', item['text'], '', '');
11972
12001
  textFont.fontFamily = !isNullOrUndefined(textFont.fontFamily) ? textFont.fontFamily : this.maps.themeStyle.fontFamily;
11973
12002
  textFont.size = map.themeStyle.legendFontSize || textFont.size;
11974
- const element = renderTextElement(textOptions, textFont, textFont.color, this.legendGroup);
11975
- element.setAttribute('aria-label', item['text']);
11976
- element.setAttribute('role', 'region');
11977
- this.legendGroup.appendChild(render.drawRectangle(rectOptions));
12003
+ const textElement = renderTextElement(textOptions, textFont, textFont.color, this.legendGroup);
12004
+ textElement.setAttribute('aria-label', item['text']);
12005
+ textElement.setAttribute('role', 'region');
12006
+ const rectElement = render.drawRectangle(rectOptions);
12007
+ this.legendGroup.appendChild(rectElement);
12008
+ if (map.legendSettings.toggleLegendSettings.enable && (legend.type === 'Layers' || legend.type === 'Markers')) {
12009
+ this.maintainLegendToggle(i, rectElement, textElement);
12010
+ }
11978
12011
  this.legendToggle();
11979
12012
  }
11980
12013
  }
@@ -12048,10 +12081,14 @@ class Legend {
12048
12081
  legendText = trimmedText;
12049
12082
  }
12050
12083
  textOptions = new TextOption(textId, textLocation.x, textLocation.y, 'start', legendText, '', '');
12051
- const element = renderTextElement(textOptions, legendTextStyle, legendTextStyle.color, legendElement);
12052
- element.setAttribute('aria-label', legendText);
12053
- element.setAttribute('role', 'region');
12084
+ const textElement = renderTextElement(textOptions, legendTextStyle, legendTextStyle.color, legendElement);
12085
+ textElement.setAttribute('aria-label', legendText);
12086
+ textElement.setAttribute('role', 'region');
12054
12087
  this.legendGroup.appendChild(legendElement);
12088
+ if (map.legendSettings.toggleLegendSettings.enable && (legend.type === 'Layers' || legend.type === 'Markers')) {
12089
+ const legendShapeElement = legendElement.childNodes[0];
12090
+ this.maintainLegendToggle(collection['idIndex'], legendShapeElement, textElement);
12091
+ }
12055
12092
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12056
12093
  if (i === (this.totalPages[page]['Collection'].length - 1)) {
12057
12094
  let pagingGroup;
@@ -12136,6 +12173,34 @@ class Legend {
12136
12173
  }
12137
12174
  }
12138
12175
  }
12176
+ /**
12177
+ * @param {number} legendIndex - Specifies the legend index.
12178
+ * @param {Element} legendShapeElement - Specifies the legend shape element.
12179
+ * @param {Element} legendTextElement - Specifies the legend text element.
12180
+ * @returns {void}
12181
+ * @private
12182
+ */
12183
+ maintainLegendToggle(legendIndex, legendShapeElement, legendTextElement) {
12184
+ if (this.maps.legendSettings.toggleLegendSettings.enable &&
12185
+ !isNullOrUndefined(this.maps.toggledLegendId) && this.maps.toggledLegendId.indexOf(legendIndex) > -1 &&
12186
+ !isNullOrUndefined(this.maps.toggledElementId) && this.maps.toggledElementId.length > 0) {
12187
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12188
+ const currentItem = this.legendCollection[legendIndex]['data'];
12189
+ if (!this.maps.legendSettings.toggleLegendSettings.applyShapeSettings) {
12190
+ this.setToggleAttributes(legendTextElement, legendShapeElement, this.maps.legendSettings.toggleLegendSettings.fill, this.maps.legendSettings.toggleLegendSettings.opacity, this.maps.legendSettings.toggleLegendSettings.border.color, this.maps.legendSettings.toggleLegendSettings.border.width, isNullOrUndefined(this.maps.legendSettings.toggleLegendSettings.border.opacity) ?
12191
+ this.maps.legendSettings.toggleLegendSettings.opacity :
12192
+ this.maps.legendSettings.toggleLegendSettings.border.opacity, this.maps.legendSettings.toggleLegendSettings.fill);
12193
+ }
12194
+ else {
12195
+ const layerIndex = currentItem[currentItem.length - 1].layerIndex;
12196
+ this.setToggleAttributes(legendTextElement, legendShapeElement, this.maps.layers[layerIndex].shapeSettings.fill, this.maps.layers[layerIndex].shapeSettings.opacity, this.maps.layers[layerIndex].shapeSettings.border.color, isNullOrUndefined(this.maps.layers[layerIndex].shapeSettings.border.width)
12197
+ ? 0 : this.maps.layers[layerIndex].shapeSettings.border.width, isNullOrUndefined(this.maps.layers[layerIndex].shapeSettings.border.opacity)
12198
+ ? this.maps.layers[layerIndex].shapeSettings.opacity
12199
+ : this.maps.layers[layerIndex].shapeSettings.border.opacity, this.maps.layers[layerIndex].shapeSettings.fill);
12200
+ }
12201
+ currentItem['_isVisible'] = false;
12202
+ }
12203
+ }
12139
12204
  legendHighLightAndSelection(targetElement, value) {
12140
12205
  let shapeIndex;
12141
12206
  let layerIndex;
@@ -12967,7 +13032,7 @@ class Legend {
12967
13032
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12968
13033
  Array.prototype.forEach.call(markerData, (data, dataIndex) => {
12969
13034
  const marker$$1 = this.maps.layers[layerIndex].markerSettings[markerIndex];
12970
- if ((text === data[marker$$1.legendText] || text === '') && legendFill === data[marker$$1.colorValuePath]) {
13035
+ if ((text === data[marker$$1.legendText] || text === '') && legendFill === (data[marker$$1.colorValuePath] || marker$$1.fill)) {
12971
13036
  legendData.push({ layerIndex: layerIndex, markerIndex: markerIndex, dataIndex: dataIndex, value: legendFill, name: text,
12972
13037
  shape: !isNullOrUndefined(marker$$1.shapeValuePath) ? data[marker$$1.shapeValuePath] : marker$$1.shape });
12973
13038
  }
@@ -13218,6 +13283,11 @@ class Legend {
13218
13283
  for (let j = 0; j < data.length; j++) {
13219
13284
  if (dataIndex === data[j]['dataIndex'] && layerIndex === data[j]['layerIndex']) {
13220
13285
  this.renderInteractivePointer(legend, fill, stroke, id, strokeWidth, rect);
13286
+ const arrowElement = querySelector(id, this.maps.element.id);
13287
+ if (this.maps.isDevice && !(isNullOrUndefined(arrowElement))) {
13288
+ clearTimeout(this.arrowTimer);
13289
+ this.arrowTimer = setTimeout(() => { remove(arrowElement); }, 2000);
13290
+ }
13221
13291
  break;
13222
13292
  }
13223
13293
  }
@@ -13295,6 +13365,10 @@ class Legend {
13295
13365
  mapElement.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[layerIndex].markerSettings[markerIndex].border.opacity) ?
13296
13366
  this.maps.layers[layerIndex].markerSettings[markerIndex].opacity :
13297
13367
  this.maps.layers[layerIndex].markerSettings[markerIndex].border.opacity).toString());
13368
+ const indexToRemoveSelectedElement = this.maps.toggledElementId.indexOf(mapElement.id);
13369
+ if (indexToRemoveSelectedElement !== -1) {
13370
+ this.maps.toggledElementId.splice(indexToRemoveSelectedElement, 1);
13371
+ }
13298
13372
  }
13299
13373
  bubbleToggleSelection(mapElement, layerIndex, bubbleIndex, legendIndex) {
13300
13374
  mapElement.setAttribute('fill', this.legendCollection[legendIndex]['fill']);
@@ -13336,6 +13410,7 @@ class Legend {
13336
13410
  '_MarkerIndex_' + shape['markerIndex'] + '_dataIndex_' + shape['dataIndex'] + '_Group', this.maps.element.id);
13337
13411
  mapElement = mapElement.children[0];
13338
13412
  }
13413
+ const toggledLegendIdIndex = this.maps.toggledLegendId.indexOf(legendIndex);
13339
13414
  if (isVisible && mapElement !== null) {
13340
13415
  if (this.maps.legendSettings.toggleLegendSettings.applyShapeSettings) {
13341
13416
  mapElement.setAttribute('fill', this.maps.layers[k].shapeSettings.fill);
@@ -13353,6 +13428,15 @@ class Legend {
13353
13428
  mapElement.setAttribute('stroke-width', (legendToggleBorderWidth).toString());
13354
13429
  mapElement.setAttribute('stroke-opacity', (legendToggleBorderOpacity).toString());
13355
13430
  }
13431
+ if (this.maps.legendSettings.type === 'Markers') {
13432
+ if (toggledLegendIdIndex === -1) {
13433
+ this.maps.toggledLegendId.push(legendIndex);
13434
+ }
13435
+ const index = this.maps.toggledElementId.indexOf(mapElement.id);
13436
+ if (index === -1) {
13437
+ this.maps.toggledElementId.push(mapElement.id);
13438
+ }
13439
+ }
13356
13440
  if (targetEle !== null) {
13357
13441
  legendShapeId = querySelector(this.maps.element.id + '_Legend_Shape_Index_' + legendIndex, this.maps.element.id);
13358
13442
  legendTextId = querySelector(this.maps.element.id + '_Legend_Text_Index_' + legendIndex, this.maps.element.id);
@@ -13371,6 +13455,9 @@ class Legend {
13371
13455
  }
13372
13456
  else {
13373
13457
  if (this.maps.legendSettings.type === 'Markers') {
13458
+ if (toggledLegendIdIndex !== -1 && i === 0) {
13459
+ this.maps.toggledLegendId.splice(toggledLegendIdIndex, 1);
13460
+ }
13374
13461
  this.markerToggleSelection(mapElement, k, j, legendIndex);
13375
13462
  }
13376
13463
  else {
@@ -13379,7 +13466,7 @@ class Legend {
13379
13466
  if (targetEle !== null) {
13380
13467
  legendShapeId = querySelector(this.maps.element.id + '_Legend_Shape_Index_' + legendIndex, this.maps.element.id);
13381
13468
  legendTextId = querySelector(this.maps.element.id + '_Legend_Text_Index_' + legendIndex, this.maps.element.id);
13382
- this.setToggleAttributes(legendTextId, legendShapeId, this.legendCollection[legendIndex]['fill'], this.legendCollection[legendIndex]['opacity'], this.legendCollection[legendIndex]['shapeBorder']['color'], this.legendCollection[legendIndex]['shapeBorder']['width'], this.legendCollection[legendIndex]['shapeBorder']['opacity'], '#757575');
13469
+ this.setToggleAttributes(legendTextId, legendShapeId, this.legendCollection[legendIndex]['fill'], this.legendCollection[legendIndex]['opacity'], this.legendCollection[legendIndex]['shapeBorder']['color'], this.legendCollection[legendIndex]['shapeBorder']['width'], this.legendCollection[legendIndex]['shapeBorder']['opacity'], this.maps.legendSettings.textStyle.color);
13383
13470
  if (this.maps.legendSettings.shape === 'HorizontalLine' || this.maps.legendSettings.shape === 'VerticalLine' || this.maps.legendSettings.shape === 'Cross') {
13384
13471
  legendShapeId.setAttribute('stroke', this.legendCollection[legendIndex]['fill']);
13385
13472
  }
@@ -13403,13 +13490,13 @@ class Legend {
13403
13490
  layerElement = querySelector(this.maps.element.id + '_LayerIndex_' + shape['layerIndex'] +
13404
13491
  '_shapeIndex_' + shape['shapeIndex'] + '_dataIndex_' + shape['dataIndex'], this.maps.element.id);
13405
13492
  if (layerElement !== null) {
13406
- const toggledShapeIdIndex = this.maps.toggledShapeElementId.indexOf(layerElement.id);
13493
+ const toggledShapeIdIndex = this.maps.toggledElementId.indexOf(layerElement.id);
13407
13494
  if (isVisible) {
13408
13495
  if (i === 0) {
13409
13496
  this.maps.toggledLegendId.push(legendIndex);
13410
13497
  }
13411
13498
  if (toggledShapeIdIndex === -1) {
13412
- this.maps.toggledShapeElementId.push(layerElement.id);
13499
+ this.maps.toggledElementId.push(layerElement.id);
13413
13500
  }
13414
13501
  if (this.maps.legendSettings.toggleLegendSettings.applyShapeSettings) {
13415
13502
  layerElement.setAttribute('fill', this.maps.layers[j].shapeSettings.fill);
@@ -13448,7 +13535,7 @@ class Legend {
13448
13535
  this.maps.toggledLegendId.splice(toggledLegendIdIndex, 1);
13449
13536
  }
13450
13537
  if (toggledShapeIdIndex !== -1) {
13451
- this.maps.toggledShapeElementId.splice(toggledShapeIdIndex, 1);
13538
+ this.maps.toggledElementId.splice(toggledShapeIdIndex, 1);
13452
13539
  }
13453
13540
  layerElement.setAttribute('fill', this.legendCollection[legendIndex]['fill']);
13454
13541
  layerElement.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[j].shapeSettings.border.opacity) ?
@@ -13480,6 +13567,7 @@ class Legend {
13480
13567
  const selectedItem = this.legendCollection[legendIndex]['data'];
13481
13568
  let isVisible = selectedItem['_isVisible'];
13482
13569
  if ((this.maps.legendSettings.type === 'Bubbles' || this.maps.legendSettings.type === 'Markers') && this.maps.legendSettings.toggleLegendSettings.enable) {
13570
+ const toggledLegendIdIndex = this.maps.toggledLegendId.indexOf(legendIndex);
13483
13571
  for (let k = 0; k < this.maps.layers.length; k++) {
13484
13572
  for (let j = 0; j < (this.maps.legendSettings.type === 'Bubbles' ? this.maps.layers[k].bubbleSettings.length : this.maps.layers[k].markerSettings.length); j++) {
13485
13573
  for (let i = 0; i < selectedItem.length; i++) {
@@ -13494,6 +13582,15 @@ class Legend {
13494
13582
  LegendInteractive = LegendInteractive.children[0];
13495
13583
  }
13496
13584
  if (isVisible && LegendInteractive !== null) {
13585
+ if (this.maps.legendSettings.type === 'Markers') {
13586
+ if (toggledLegendIdIndex === -1) {
13587
+ this.maps.toggledLegendId.push(legendIndex);
13588
+ }
13589
+ const index = this.maps.toggledElementId.indexOf(LegendInteractive.id);
13590
+ if (index === -1) {
13591
+ this.maps.toggledElementId.push(LegendInteractive.id);
13592
+ }
13593
+ }
13497
13594
  if (this.maps.legendSettings.toggleLegendSettings.applyShapeSettings) {
13498
13595
  LegendInteractive.setAttribute('fill', this.maps.layers[k].shapeSettings.fill);
13499
13596
  LegendInteractive.setAttribute('stroke', this.maps.layers[k].shapeSettings.border.color);
@@ -13531,6 +13628,9 @@ class Legend {
13531
13628
  }
13532
13629
  else {
13533
13630
  if (this.maps.legendSettings.type === 'Markers') {
13631
+ if (toggledLegendIdIndex !== -1 && i === 0) {
13632
+ this.maps.toggledLegendId.splice(toggledLegendIdIndex, 1);
13633
+ }
13534
13634
  this.markerToggleSelection(LegendInteractive, k, j, legendIndex);
13535
13635
  }
13536
13636
  else {
@@ -13544,7 +13644,7 @@ class Legend {
13544
13644
  legendShapeId.setAttribute('stroke-width', this.legendCollection[legendIndex]['shapeBorder']['width']);
13545
13645
  legendShapeId.setAttribute('stroke-opacity', this.legendCollection[legendIndex]['shapeBorder']['opacity']);
13546
13646
  legendTextId = querySelector(this.maps.element.id + '_Legend_Index_' + legendIndex + '_Text', this.maps.element.id);
13547
- legendTextId.setAttribute('fill', '#757575');
13647
+ legendTextId.setAttribute('fill', this.maps.legendSettings.textStyle.color);
13548
13648
  }
13549
13649
  }
13550
13650
  }
@@ -13565,13 +13665,13 @@ class Legend {
13565
13665
  mapLegendElement = querySelector(this.maps.element.id + '_LayerIndex_' + mapdata['layerIndex'] +
13566
13666
  '_shapeIndex_' + mapdata['shapeIndex'] + '_dataIndex_' + mapdata['dataIndex'], this.maps.element.id);
13567
13667
  if (mapLegendElement !== null) {
13568
- const toggledShapeIdIndex = this.maps.toggledShapeElementId.indexOf(mapLegendElement.id);
13668
+ const toggledShapeIdIndex = this.maps.toggledElementId.indexOf(mapLegendElement.id);
13569
13669
  if (isVisible) {
13570
13670
  if (i === 0) {
13571
13671
  this.maps.toggledLegendId.push(legendIndex);
13572
13672
  }
13573
13673
  if (toggledShapeIdIndex === -1) {
13574
- this.maps.toggledShapeElementId.push(mapLegendElement.id);
13674
+ this.maps.toggledElementId.push(mapLegendElement.id);
13575
13675
  }
13576
13676
  if (this.maps.legendSettings.toggleLegendSettings.applyShapeSettings) {
13577
13677
  mapLegendElement.setAttribute('fill', this.maps.layers[0].shapeSettings.fill);
@@ -13611,7 +13711,7 @@ class Legend {
13611
13711
  this.maps.toggledLegendId.splice(toggleLegendIdIndex, 1);
13612
13712
  }
13613
13713
  if (toggledShapeIdIndex !== -1) {
13614
- this.maps.toggledShapeElementId.splice(toggledShapeIdIndex, 1);
13714
+ this.maps.toggledElementId.splice(toggledShapeIdIndex, 1);
13615
13715
  }
13616
13716
  mapLegendElement.setAttribute('fill-opacity', (this.maps.layers[k].shapeSettings.opacity).toString());
13617
13717
  mapLegendElement.setAttribute('stroke-width', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.width) ? 0 :
@@ -13787,7 +13887,7 @@ class Highlight {
13787
13887
  this.addEventListener();
13788
13888
  }
13789
13889
  /**
13790
- * To bind events for highlight module
13890
+ * To bind events for highlight module.
13791
13891
  *
13792
13892
  * @returns {void}
13793
13893
  */
@@ -13799,7 +13899,7 @@ class Highlight {
13799
13899
  this.maps.on(Browser.touchStartEvent, this.mouseMove, this);
13800
13900
  }
13801
13901
  /**
13802
- * To unbind events for highlight module
13902
+ * To unbind events for highlight module.
13803
13903
  *
13804
13904
  * @returns {void}
13805
13905
  */
@@ -13811,7 +13911,7 @@ class Highlight {
13811
13911
  this.maps.off(Browser.touchStartEvent, this.mouseMove);
13812
13912
  }
13813
13913
  /**
13814
- * Public method for highlight module
13914
+ * Public method for highlight module.
13815
13915
  *
13816
13916
  * @param {number} layerIndex - Specifies the index of the layer.
13817
13917
  * @param {string} name - Specifies the name.
@@ -13923,7 +14023,7 @@ class Highlight {
13923
14023
  }
13924
14024
  }
13925
14025
  /**
13926
- * Handles the highlighting events in map
14026
+ * Handles the highlighting events in map.
13927
14027
  *
13928
14028
  * @param {Element} targetElement - Specifies the target element.
13929
14029
  * @param {number} layerIndex - Specifies the index of the layer.
@@ -14053,7 +14153,7 @@ class Selection {
14053
14153
  this.addEventListener();
14054
14154
  }
14055
14155
  /**
14056
- * For binding events to selection module
14156
+ * For binding events to selection module.
14057
14157
  *
14058
14158
  * @returns {void}
14059
14159
  */
@@ -14063,7 +14163,7 @@ class Selection {
14063
14163
  }
14064
14164
  }
14065
14165
  /**
14066
- * For removing events from selection modue
14166
+ * For removing events from selection module.
14067
14167
  *
14068
14168
  * @returns {void}
14069
14169
  */
@@ -14142,7 +14242,7 @@ class Selection {
14142
14242
  }
14143
14243
  }
14144
14244
  /**
14145
- * Selects the element in the map
14245
+ * Selects the element in the map.
14146
14246
  *
14147
14247
  * @param {Element} targetElement - Specifies the target element.
14148
14248
  * @param {number} layerIndex - Specifies the index of the layer.
@@ -14163,7 +14263,7 @@ class Selection {
14163
14263
  }
14164
14264
  }
14165
14265
  /**
14166
- * Public method for selection
14266
+ * Public method for selection.
14167
14267
  *
14168
14268
  * @param {number} layerIndex - Specifies the index of the layer.
14169
14269
  * @param {string} name - Specifies the name.
@@ -14181,7 +14281,7 @@ class Selection {
14181
14281
  }
14182
14282
  }
14183
14283
  /**
14184
- * Method for selection
14284
+ * Method for selection.
14185
14285
  *
14186
14286
  * @param {Element} targetElement - Specifies the target element
14187
14287
  * @param {any} shapeData - Specifies the shape data
@@ -14404,10 +14504,6 @@ class MapsTooltip {
14404
14504
  pageY = e.pageY;
14405
14505
  target = e.target;
14406
14506
  }
14407
- if (this.maps.isDevice) {
14408
- clearTimeout(this.clearTimeout);
14409
- this.clearTimeout = setTimeout(this.removeTooltip.bind(this), 2000);
14410
- }
14411
14507
  if (target.id.indexOf(this.maps.element.id) === -1) {
14412
14508
  const ancestor = target.closest('.' + this.maps.element.id + '_marker_template_element');
14413
14509
  if (!isNullOrUndefined(ancestor) && ancestor.id.indexOf('_MarkerIndex_') > -1) {
@@ -14574,9 +14670,11 @@ class MapsTooltip {
14574
14670
  // eslint-disable-next-line no-constant-condition
14575
14671
  if (typeof (isPolygon ? polygon.tooltipTemplate !== 'function' : option.template !== 'function') && (isPolygon ? polygon.tooltipTemplate !== null : option.template !== null) && Object.keys(typeof (isPolygon ? polygon.tooltipTemplate === 'object' : option.template === 'object') ? (isPolygon ? polygon.tooltipTemplate : option.template) : {}).length === 1) {
14576
14672
  if (isPolygon) {
14673
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14577
14674
  polygon.tooltipTemplate = polygon.tooltipTemplate[Object.keys(polygon.tooltipTemplate)[0]];
14578
14675
  }
14579
14676
  else {
14677
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14580
14678
  option.template = option.template[Object.keys(option.template)[0]];
14581
14679
  }
14582
14680
  }
@@ -14661,6 +14759,15 @@ class MapsTooltip {
14661
14759
  this.svgTooltip.appendTo(tooltipEle);
14662
14760
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14663
14761
  this.maps.renderReactTemplates();
14762
+ if (this.maps.isDevice) {
14763
+ let timer = targetId.indexOf('_MarkerIndex_') > -1 || targetId.indexOf('_BubbleIndex_') > -1
14764
+ || targetId.indexOf('_shapeIndex_') > -1 ? option.duration : polygonTooltipOption.duration;
14765
+ timer = (!isNullOrUndefined(timer) && timer > 0) ? timer : (timer < 0) ? 2000 : null;
14766
+ if (timer !== null) {
14767
+ clearTimeout(this.tooltipTimer);
14768
+ this.tooltipTimer = setTimeout(this.removeTooltip.bind(this), timer);
14769
+ }
14770
+ }
14664
14771
  }
14665
14772
  else {
14666
14773
  this.clearTooltip(e.target);
@@ -14697,7 +14804,7 @@ class MapsTooltip {
14697
14804
  }
14698
14805
  }
14699
14806
  /**
14700
- * To get content for the current toolitp
14807
+ * To get content for the current toolitp.
14701
14808
  *
14702
14809
  * @param {TooltipSettingsModel} options - Specifies the options for rendering tooltip
14703
14810
  * @param {any} templateData - Specifies the template data
@@ -14729,7 +14836,7 @@ class MapsTooltip {
14729
14836
  return format;
14730
14837
  }
14731
14838
  /**
14732
- * Handles the mouse up
14839
+ * Handles the mouse up.
14733
14840
  *
14734
14841
  * @param {PointerEvent} e - Specifies the event
14735
14842
  * @returns {void}
@@ -14739,13 +14846,13 @@ class MapsTooltip {
14739
14846
  if (!isNullOrUndefined(this.maps)) {
14740
14847
  this.renderTooltip(e);
14741
14848
  if (this.maps.tooltipDisplayMode === 'MouseMove') {
14742
- clearTimeout(this.clearTimeout);
14743
- this.clearTimeout = setTimeout(this.removeTooltip.bind(this), 2000);
14849
+ clearTimeout(this.tooltipTimer);
14850
+ this.tooltipTimer = setTimeout(this.removeTooltip.bind(this), 2000);
14744
14851
  }
14745
14852
  }
14746
14853
  }
14747
14854
  /**
14748
- * Removes the tooltip
14855
+ * Removes the tooltip.
14749
14856
  *
14750
14857
  * @returns {boolean} - Returns the boolean whether tooltip is removed or not.
14751
14858
  * @private
@@ -14770,7 +14877,7 @@ class MapsTooltip {
14770
14877
  }
14771
14878
  }
14772
14879
  /**
14773
- * To bind events for tooltip module
14880
+ * To bind events for tooltip module.
14774
14881
  *
14775
14882
  * @returns {void}
14776
14883
  * @private
@@ -14792,7 +14899,7 @@ class MapsTooltip {
14792
14899
  this.maps.element.addEventListener('contextmenu', this.removeTooltip);
14793
14900
  }
14794
14901
  /**
14795
- * Removes the event listeners
14902
+ * Removes the event listeners.
14796
14903
  *
14797
14904
  * @returns {void}
14798
14905
  * @private
@@ -14856,6 +14963,8 @@ class Zoom {
14856
14963
  /** @private */
14857
14964
  this.isPointer = Browser.isPointer;
14858
14965
  this.handled = false;
14966
+ /** @private */
14967
+ this.isPanningInProgress = false;
14859
14968
  this.isPan = false;
14860
14969
  this.isZoomFinal = false;
14861
14970
  this.isZoomSelection = false;
@@ -14878,7 +14987,7 @@ class Zoom {
14878
14987
  this.addEventListener();
14879
14988
  }
14880
14989
  /**
14881
- * To perform zooming for maps
14990
+ * To perform zooming for maps.
14882
14991
  *
14883
14992
  * @param {Point} position - Specifies the position.
14884
14993
  * @param {number} newZoomFactor - Specifies the zoom factor.
@@ -15305,7 +15414,7 @@ class Zoom {
15305
15414
  }
15306
15415
  }
15307
15416
  /**
15308
- * To animate the zooming process
15417
+ * To animate the zooming process.
15309
15418
  *
15310
15419
  * @param {Element} element - Specifies the element
15311
15420
  * @param {boolean} animate - Specifies the boolean value
@@ -15342,6 +15451,7 @@ class Zoom {
15342
15451
  const y = maps.translatePoint.y;
15343
15452
  let currentLabelIndex = 0;
15344
15453
  maps.zoomShapeCollection = [];
15454
+ this.isPanningInProgress = isPanning || false;
15345
15455
  if (document.getElementById(maps.element.id + '_mapsTooltip')) {
15346
15456
  removeElement(maps.element.id + '_mapsTooltip');
15347
15457
  }
@@ -15385,7 +15495,7 @@ class Zoom {
15385
15495
  }
15386
15496
  }
15387
15497
  else if (currentEle.id.indexOf('_Markers_Group') > -1) {
15388
- if ((!this.isPanModeEnabled) && !isNullOrUndefined(currentEle.childNodes[0])) {
15498
+ if ((!this.isPanModeEnabled || !isPanning) && !isNullOrUndefined(currentEle.childNodes[0])) {
15389
15499
  this.markerTranslates(currentEle.childNodes[0], factor, x, y, scale, 'Marker', layerElement);
15390
15500
  }
15391
15501
  currentEle = layerElement.childNodes[j];
@@ -15644,7 +15754,7 @@ class Zoom {
15644
15754
  });
15645
15755
  }
15646
15756
  /**
15647
- * To translate the layer template elements
15757
+ * To translate the layer template elements.
15648
15758
  *
15649
15759
  * @param {number} x - Specifies the x value
15650
15760
  * @param {number} y - Specifies the y value
@@ -16360,10 +16470,15 @@ class Zoom {
16360
16470
  break;
16361
16471
  case 'zoomin':
16362
16472
  map.staticMapZoom = map.tileZoomLevel;
16363
- if (map.staticMapZoom > 0 && map.staticMapZoom < 22) {
16473
+ if (map.staticMapZoom > 0 && map.staticMapZoom < map.zoomSettings.maxZoom) {
16364
16474
  map.staticMapZoom += 1;
16365
16475
  }
16366
- this.toolBarZooming((map.isTileMap ? map.tileZoomLevel : map.scale) + 1, 'ZoomIn');
16476
+ if (map.isTileMap && map.tileZoomLevel >= map.zoomSettings.minZoom && map.tileZoomLevel < map.zoomSettings.maxZoom) {
16477
+ this.toolBarZooming(map.tileZoomLevel + 1, 'ZoomIn');
16478
+ }
16479
+ else if (!map.isTileMap) {
16480
+ this.toolBarZooming(map.scale + 1, 'ZoomIn');
16481
+ }
16367
16482
  scale = this.maps.isTileMap ? Math.round(this.maps.tileZoomLevel) : Math.round(this.maps.mapScaleValue);
16368
16483
  if (!this.isZoomSelection) {
16369
16484
  if (scale === map.zoomSettings.maxZoom || scale > 1 || (scale === 1 && this.maps.isTileMap)) {
@@ -16723,9 +16838,14 @@ class Zoom {
16723
16838
  -(e.detail) / 3 > 0 ? 'ZoomIn' : 'ZoomOut' : (e.wheelDelta / 120) > 0 ? 'ZoomIn' : 'ZoomOut';
16724
16839
  if (direction === 'ZoomIn') {
16725
16840
  map.mapScaleValue = value + delta;
16726
- map.staticMapZoom = map.tileZoomLevel;
16727
- if (map.staticMapZoom > 0 && map.staticMapZoom < staticMaxZoomLevel) {
16728
- map.staticMapZoom += 1;
16841
+ if (map.isTileMap) {
16842
+ map.staticMapZoom = map.tileZoomLevel;
16843
+ if (map.staticMapZoom > 0 && map.staticMapZoom < staticMaxZoomLevel) {
16844
+ map.staticMapZoom += 1;
16845
+ this.performZooming(position, (value + delta), direction);
16846
+ }
16847
+ }
16848
+ else {
16729
16849
  this.performZooming(position, (value + delta), direction);
16730
16850
  }
16731
16851
  }
@@ -17008,7 +17128,7 @@ class Zoom {
17008
17128
  }
17009
17129
  }
17010
17130
  /**
17011
- * Gets the Mouse Position
17131
+ * Gets the Mouse Position.
17012
17132
  *
17013
17133
  * @param {number} pageX - Specifies the Page x in map
17014
17134
  * @param {number} pageY - Specifies the Page y in map
@@ -17102,14 +17222,14 @@ class Zoom {
17102
17222
  */
17103
17223
  class Print {
17104
17224
  /**
17105
- * Constructor for Maps
17225
+ * Constructor for Maps.
17106
17226
  *
17107
17227
  * @param {Maps} control - Specifies the instance of the Maps
17108
17228
  */
17109
17229
  // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
17110
17230
  constructor(control) { }
17111
17231
  /**
17112
- * To print the Maps
17232
+ * To print the Maps.
17113
17233
  *
17114
17234
  * @param {Maps} maps -Specifies the Maps instance.
17115
17235
  * @param {string[] | string | Element} elements - Specifies the element of the Maps
@@ -17131,7 +17251,7 @@ class Print {
17131
17251
  });
17132
17252
  }
17133
17253
  /**
17134
- * To get the html string of the Maps
17254
+ * To get the html string of the Maps.
17135
17255
  *
17136
17256
  * @param {Maps} maps -Specifies the Maps instance.
17137
17257
  * @param {string[] | string | Element} elements - Specifies the html element
@@ -17566,5 +17686,5 @@ class PdfExport {
17566
17686
  * exporting all modules from maps index
17567
17687
  */
17568
17688
 
17569
- export { Maps, load, loaded, click, onclick, rightClick, doubleClick, resize, tooltipRender, shapeSelected, shapeHighlight, mousemove, mouseup, mousedown, layerRendering, shapeRendering, markerRendering, markerClusterRendering, markerClick, markerDragStart, markerDragEnd, markerClusterClick, markerMouseMove, markerClusterMouseMove, dataLabelRendering, bubbleRendering, bubbleClick, bubbleMouseMove, animationComplete, legendRendering, annotationRendering, itemSelection, panComplete, zoomComplete, itemHighlight, beforePrint, zoomIn, zoomOut, pan, Annotation, Arrow, Font, ZoomToolbarButtonSettings, ZoomToolbarTooltipSettings, ZoomToolbarSettings, Border, CenterPosition, TooltipSettings, PolygonTooltipSettings, Margin, ConnectorLineSettings, MarkerClusterSettings, MarkerClusterData, ColorMappingSettings, InitialMarkerSelectionSettings, InitialShapeSelectionSettings, SelectionSettings, HighlightSettings, PolygonSetting, PolygonSettings, NavigationLineSettings, BubbleSettings, CommonTitleSettings, SubTitleSettings, TitleSettings, ZoomSettings, ToggleLegendSettings, LegendSettings, DataLabelSettings, ShapeSettings, MarkerBase, MarkerSettings, LayerSettings, Tile, MapsAreaSettings, Size, stringToNumber, calculateSize, createSvg, getMousePosition, degreesToRadians, radiansToDegrees, convertGeoToPoint, calculatePolygonPath, convertTileLatLongToPoint, xToCoordinate, yToCoordinate, aitoff, roundTo, sinci, acos, calculateBound, triggerDownload, Point, Coordinate, MinMax, GeoLocation, measureText, measureTextElement, TextOption, PathOption, ColorValue, RectOption, CircleOption, PolygonOption, PolylineOption, LineOption, Line, MapLocation, Rect, PatternOptions, renderTextElement, convertElement, formatValue, convertStringToValue, convertElementFromLabel, drawSymbols, getValueFromObject, markerColorChoose, markerShapeChoose, clusterTemplate, markerClusterListHandler, markerBoundsComparer, mergeSeparateCluster, clusterSeparate, marker, markerTemplate, maintainSelection, maintainStyleClass, appendShape, drawCircle, drawRectangle, drawPath, drawPolygon, drawPolyline, drawLine, calculateShapes, drawDiamond, drawTriangle, drawCross, drawHorizontalLine, drawVerticalLine, drawStar, drawBalloon, drawPattern, getFieldData, checkShapeDataFields, checkPropertyPath, filter, getRatioOfBubble, findMidPointOfPolygon, isCustomPath, textTrim, findPosition, removeElement, calculateCenterFromPixel, getTranslate, getZoomTranslate, fixInitialScaleForTile, getElementByID, getClientElement, Internalize, getTemplateFunction, getElement, getShapeData, triggerShapeEvent, getElementsByClassName, querySelector, getTargetElement, createStyle, customizeStyle, triggerItemSelectionEvent, removeClass, elementAnimate, timeout, showTooltip, wordWrap, createTooltip, getHexColor, drawSymbol, renderLegendShape, getElementOffset, changeBorderWidth, changeNavaigationLineWidth, targetTouches, calculateScale, getDistance, getTouches, getTouchCenter, sum, zoomAnimate, animate, MapAjax, smoothTranslate, compareZoomFactor, calculateZoomLevel, processResult, LayerPanel, Bubble, BingMap, Marker, Polygon, ColorMapping, DataLabel, NavigationLine, Legend, Highlight, Selection, MapsTooltip, Zoom, Annotations, Print, ImageExport, PdfExport };
17689
+ export { Maps, load, loaded, click, onclick, rightClick, doubleClick, resize, tooltipRender, shapeSelected, shapeHighlight, mousemove, mouseup, mousedown, layerRendering, shapeRendering, markerRendering, markerClusterRendering, markerClick, markerDragStart, markerDragEnd, markerClusterClick, markerMouseMove, markerClusterMouseMove, dataLabelRendering, bubbleRendering, bubbleClick, bubbleMouseMove, animationComplete, legendRendering, annotationRendering, itemSelection, panComplete, zoomComplete, itemHighlight, beforePrint, zoomIn, zoomOut, pan, Annotation, Arrow, Font, ZoomToolbarButtonSettings, ZoomToolbarTooltipSettings, ZoomToolbarSettings, Border, CenterPosition, TooltipSettings, PolygonTooltipSettings, Margin, ConnectorLineSettings, MarkerClusterSettings, MarkerClusterData, ColorMappingSettings, InitialMarkerSelectionSettings, InitialShapeSelectionSettings, SelectionSettings, HighlightSettings, PolygonSetting, PolygonSettings, NavigationLineSettings, BubbleSettings, CommonTitleSettings, SubTitleSettings, TitleSettings, ZoomSettings, ToggleLegendSettings, LegendSettings, DataLabelSettings, ShapeSettings, MarkerBase, MarkerSettings, LayerSettings, Tile, MapsAreaSettings, Size, stringToNumber, calculateSize, createSvg, getMousePosition, degreesToRadians, radiansToDegrees, convertGeoToPoint, calculatePolygonPath, convertTileLatLongToPoint, xToCoordinate, yToCoordinate, aitoff, roundTo, sinci, acos, calculateBound, triggerDownload, Point, Coordinate, MinMax, GeoLocation, measureText, measureTextElement, TextOption, PathOption, ColorValue, RectOption, CircleOption, PolygonOption, PolylineOption, LineOption, Line, MapLocation, Rect, PatternOptions, renderTextElement, convertElement, formatValue, convertStringToValue, convertElementFromLabel, drawSymbols, getValueFromObject, markerColorChoose, markerShapeChoose, clusterTemplate, markerClusterListHandler, markerBoundsComparer, mergeSeparateCluster, clusterSeparate, marker, markerTemplate, maintainSelection, maintainToggleSelection, maintainStyleClass, appendShape, drawCircle, drawRectangle, drawPath, drawPolygon, drawPolyline, drawLine, calculateShapes, drawDiamond, drawTriangle, drawCross, drawHorizontalLine, drawVerticalLine, drawStar, drawBalloon, drawPattern, getFieldData, checkShapeDataFields, checkPropertyPath, filter, getRatioOfBubble, findMidPointOfPolygon, isCustomPath, textTrim, findPosition, removeElement, calculateCenterFromPixel, getTranslate, getZoomTranslate, fixInitialScaleForTile, getElementByID, getClientElement, Internalize, getTemplateFunction, getElement, getShapeData, triggerShapeEvent, getElementsByClassName, querySelector, getTargetElement, createStyle, customizeStyle, triggerItemSelectionEvent, removeClass, elementAnimate, timeout, showTooltip, wordWrap, createTooltip, getHexColor, drawSymbol, renderLegendShape, getElementOffset, changeBorderWidth, changeNavaigationLineWidth, targetTouches, calculateScale, getDistance, getTouches, getTouchCenter, sum, zoomAnimate, animate, MapAjax, smoothTranslate, compareZoomFactor, calculateZoomLevel, processResult, LayerPanel, Bubble, BingMap, Marker, Polygon, ColorMapping, DataLabel, NavigationLine, Legend, Highlight, Selection, MapsTooltip, Zoom, Annotations, Print, ImageExport, PdfExport };
17570
17690
  //# sourceMappingURL=ej2-maps.es2015.js.map