@syncfusion/ej2-maps 19.4.56 → 19.4.57-105067

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 (84) hide show
  1. package/.eslintrc.json +18 -3
  2. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +72 -72
  3. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +49 -49
  4. package/CHANGELOG.md +441 -439
  5. package/README.md +73 -73
  6. package/dist/ej2-maps.umd.min.js +1 -10
  7. package/dist/ej2-maps.umd.min.js.map +1 -1
  8. package/dist/es6/ej2-maps.es2015.js +1161 -638
  9. package/dist/es6/ej2-maps.es2015.js.map +1 -1
  10. package/dist/es6/ej2-maps.es5.js +1200 -678
  11. package/dist/es6/ej2-maps.es5.js.map +1 -1
  12. package/dist/global/ej2-maps.min.js +1 -10
  13. package/dist/global/ej2-maps.min.js.map +1 -1
  14. package/dist/global/index.d.ts +0 -9
  15. package/dist/ts/maps/layers/bing-map.ts +50 -0
  16. package/dist/ts/maps/layers/bubble.ts +290 -0
  17. package/dist/ts/maps/layers/color-mapping.ts +226 -0
  18. package/dist/ts/maps/layers/data-label.ts +418 -0
  19. package/dist/ts/maps/layers/layer-panel.ts +1480 -0
  20. package/dist/ts/maps/layers/legend.ts +2236 -0
  21. package/dist/ts/maps/layers/marker.ts +453 -0
  22. package/dist/ts/maps/layers/navigation-selected-line.ts +167 -0
  23. package/dist/ts/maps/maps.ts +2886 -0
  24. package/dist/ts/maps/model/base.ts +1843 -0
  25. package/dist/ts/maps/model/constants.ts +200 -0
  26. package/dist/ts/maps/model/export-image.ts +178 -0
  27. package/dist/ts/maps/model/export-pdf.ts +170 -0
  28. package/dist/ts/maps/model/interface.ts +823 -0
  29. package/dist/ts/maps/model/print.ts +104 -0
  30. package/dist/ts/maps/model/theme.ts +554 -0
  31. package/dist/ts/maps/user-interaction/annotation.ts +127 -0
  32. package/dist/ts/maps/user-interaction/highlight.ts +233 -0
  33. package/dist/ts/maps/user-interaction/selection.ts +321 -0
  34. package/dist/ts/maps/user-interaction/tooltip.ts +387 -0
  35. package/dist/ts/maps/user-interaction/zoom.ts +1767 -0
  36. package/dist/ts/maps/utils/enum.ts +368 -0
  37. package/dist/ts/maps/utils/helper.ts +3421 -0
  38. package/helper/e2e/index.js +3 -3
  39. package/helper/e2e/maps-helper.js +13 -13
  40. package/license +9 -9
  41. package/package.json +85 -85
  42. package/src/maps/layers/bing-map.d.ts +4 -0
  43. package/src/maps/layers/bing-map.js +16 -3
  44. package/src/maps/layers/bubble.d.ts +1 -2
  45. package/src/maps/layers/bubble.js +7 -12
  46. package/src/maps/layers/data-label.d.ts +1 -4
  47. package/src/maps/layers/data-label.js +32 -35
  48. package/src/maps/layers/layer-panel.d.ts +18 -1
  49. package/src/maps/layers/layer-panel.js +226 -72
  50. package/src/maps/layers/legend.d.ts +5 -2
  51. package/src/maps/layers/legend.js +170 -61
  52. package/src/maps/layers/marker.d.ts +2 -4
  53. package/src/maps/layers/marker.js +49 -48
  54. package/src/maps/layers/navigation-selected-line.d.ts +1 -2
  55. package/src/maps/layers/navigation-selected-line.js +7 -13
  56. package/src/maps/maps-model.d.ts +259 -251
  57. package/src/maps/maps.d.ts +24 -3
  58. package/src/maps/maps.js +152 -90
  59. package/src/maps/model/base-model.d.ts +1025 -1021
  60. package/src/maps/model/base.d.ts +5 -1
  61. package/src/maps/model/base.js +24 -24
  62. package/src/maps/model/constants.d.ts +6 -0
  63. package/src/maps/model/constants.js +6 -0
  64. package/src/maps/model/export-image.d.ts +2 -4
  65. package/src/maps/model/export-image.js +26 -32
  66. package/src/maps/model/export-pdf.d.ts +4 -6
  67. package/src/maps/model/export-pdf.js +27 -35
  68. package/src/maps/model/interface.d.ts +34 -26
  69. package/src/maps/model/print.d.ts +2 -5
  70. package/src/maps/model/print.js +33 -21
  71. package/src/maps/model/theme.js +7 -4
  72. package/src/maps/user-interaction/annotation.d.ts +1 -2
  73. package/src/maps/user-interaction/annotation.js +3 -4
  74. package/src/maps/user-interaction/highlight.d.ts +1 -2
  75. package/src/maps/user-interaction/highlight.js +11 -10
  76. package/src/maps/user-interaction/selection.d.ts +1 -2
  77. package/src/maps/user-interaction/selection.js +42 -19
  78. package/src/maps/user-interaction/tooltip.d.ts +3 -5
  79. package/src/maps/user-interaction/tooltip.js +27 -14
  80. package/src/maps/user-interaction/zoom.d.ts +3 -8
  81. package/src/maps/user-interaction/zoom.js +282 -162
  82. package/src/maps/utils/enum.d.ts +5 -1
  83. package/src/maps/utils/helper.d.ts +1 -1
  84. package/src/maps/utils/helper.js +62 -31
@@ -3,19 +3,19 @@ import { SvgRenderer, Tooltip } from '@syncfusion/ej2-svg-base';
3
3
  import { DataManager, Query } from '@syncfusion/ej2-data';
4
4
  import { PdfBitmap, PdfDocument, PdfPageOrientation } from '@syncfusion/ej2-pdf-export';
5
5
 
6
- var __extends$1 = (undefined && undefined.__extends) || (function () {
7
- var extendStatics = function (d, b) {
8
- extendStatics = Object.setPrototypeOf ||
9
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
11
- return extendStatics(d, b);
12
- };
13
- return function (d, b) {
14
- extendStatics(d, b);
15
- function __() { this.constructor = d; }
16
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17
- };
18
- })();
6
+ var __extends$1 = (undefined && undefined.__extends) || (function () {
7
+ var extendStatics = function (d, b) {
8
+ extendStatics = Object.setPrototypeOf ||
9
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
11
+ return extendStatics(d, b);
12
+ };
13
+ return function (d, b) {
14
+ extendStatics(d, b);
15
+ function __() { this.constructor = d; }
16
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17
+ };
18
+ })();
19
19
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
20
20
  /* eslint-disable @typescript-eslint/no-unused-vars */
21
21
  /* eslint-disable max-len */
@@ -788,6 +788,8 @@ function drawSymbols(shape, imageUrl, location, markerID, shapeCustom, markerCol
788
788
  var opacity = shapeCustom['opacity'];
789
789
  var rectOptions;
790
790
  var pathOptions = new PathOption(markerID, fill, borderWidth, borderColor, opacity, borderOpacity, dashArray, '');
791
+ size.width = typeof (size.width) === 'string' ? parseInt(size.width, 10) : size.width;
792
+ size.height = typeof (size.height) === 'string' ? parseInt(size.height, 10) : size.height;
791
793
  if (shape === 'Circle') {
792
794
  var radius = (size.width + size.height) / 4;
793
795
  var circleOptions = new CircleOption(markerID, fill, border, opacity, location.x, location.y, radius, dashArray);
@@ -1005,8 +1007,8 @@ function clusterTemplate(currentLayer, markerTemplate, maps, layerIndex, markerC
1005
1007
  shapeCustom['borderWidth'] = eventArg.border.width;
1006
1008
  shapeCustom['borderOpacity'] = isNullOrUndefined(eventArg.border.opacity) ? clusters_1.opacity : eventArg.border.opacity;
1007
1009
  }
1008
- tempX = (maps.isTileMap) ? tempX : (markerTemplate.id.indexOf('_Markers_Group') > -1) ? tempX : ((location_1.x + transPoint.x + eventArg.width) * maps.mapScaleValue);
1009
- tempY = (maps.isTileMap) ? tempY : (markerTemplate.id.indexOf('_Markers_Group') > -1) ? tempY : ((location_1.y + transPoint.y + (eventArg.height / 2)) * maps.mapScaleValue);
1010
+ tempX = (maps.isTileMap) ? tempX : (markerTemplate.id.indexOf('_Markers_Group') > -1) ? tempX : tempX + postionY - (eventArg.width / 2);
1011
+ tempY = (maps.isTileMap) ? tempY : (markerTemplate.id.indexOf('_Markers_Group') > -1) ? tempY : tempY - (eventArg.height / 2);
1010
1012
  if (maps.isTileMap && !maps.zoomSettings.enable) {
1011
1013
  tempX = location_1.x;
1012
1014
  tempY = location_1.y;
@@ -1085,12 +1087,15 @@ function clusterTemplate(currentLayer, markerTemplate, maps, layerIndex, markerC
1085
1087
  getElementByID(maps.element.id + '_Secondary_Element').appendChild(markerCollection);
1086
1088
  layerElement.appendChild(markerCollection);
1087
1089
  }
1088
- var markerCluster = document.getElementById(maps.element.id + '_LayerIndex_0_markerCluster');
1090
+ var markerCluster = document.getElementById(maps.element.id + '_LayerIndex_' + layerIndex + '_markerCluster');
1089
1091
  if (!isNullOrUndefined(markerCluster)) {
1090
1092
  markerCluster.remove();
1091
1093
  }
1092
1094
  if (zoomCheck) {
1093
- document.getElementById(maps.element.id + '_Layer_Collections').appendChild(layerElement);
1095
+ var layerGroupElement = document.getElementById(maps.element.id + '_Layer_Collections');
1096
+ if (!isNullOrUndefined(layerGroupElement)) {
1097
+ layerGroupElement.appendChild(layerElement);
1098
+ }
1094
1099
  }
1095
1100
  });
1096
1101
  }
@@ -1107,15 +1112,16 @@ function mergeSeparateCluster(sameMarkerData, maps, markerElement) {
1107
1112
  var markerIndex = sameMarkerData[0].markerIndex;
1108
1113
  var dataIndex = sameMarkerData[0].dataIndex;
1109
1114
  var markerId = maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_' + markerIndex;
1115
+ var marker = maps.layers[layerIndex].markerSettings[markerIndex];
1110
1116
  var clusterId = markerId + '_dataIndex_' + dataIndex + '_cluster_' + clusterIndex;
1111
- var clusterEle = getElement(clusterId);
1117
+ var clusterEle = maps.layers[layerIndex].markerClusterSettings.shape === 'Balloon' ? getElement(clusterId + '_Group') : getElement(clusterId);
1112
1118
  var clusterEleLabel = getElement(clusterId + '_datalabel_' + clusterIndex);
1113
1119
  clusterEle.setAttribute('visibility', 'visible');
1114
1120
  clusterEleLabel.setAttribute('visibility', 'visible');
1115
1121
  var markerEle;
1116
1122
  var markerDataLength = sameMarkerData[0].data.length;
1117
1123
  for (var i = 0; i < markerDataLength; i++) {
1118
- markerEle = getElement(markerId + '_dataIndex_' + sameMarkerData[0].data[i]['index']);
1124
+ markerEle = marker.shape === 'Balloon' ? getElement(markerId + '_dataIndex_' + sameMarkerData[0].data[i]['index'] + '_Group') : getElement(markerId + '_dataIndex_' + sameMarkerData[0].data[i]['index']);
1119
1125
  markerEle['style']['visibility'] = 'hidden';
1120
1126
  }
1121
1127
  removeElement(maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_' + markerIndex + '_markerClusterConnectorLine');
@@ -1137,13 +1143,13 @@ function clusterSeparate(sameMarkerData, maps, markerElement, isDom) {
1137
1143
  var getElementFunction = isDom ? getElement : markerElement.querySelector.bind(markerElement);
1138
1144
  var getQueryConnect = isDom ? '' : '#';
1139
1145
  var markerId = maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_' + markerIndex;
1146
+ var marker = maps.layers[layerIndex].markerSettings[markerIndex];
1140
1147
  var clusterId = markerId + '_dataIndex_' + dataIndex + '_cluster_' + clusterIndex;
1141
- var clusterEle = getElementFunction(getQueryConnect + '' + clusterId);
1148
+ var clusterEle = maps.layers[layerIndex].markerClusterSettings.shape === 'Balloon' ? getElementFunction(getQueryConnect + '' + clusterId + '_Group') : getElementFunction(getQueryConnect + '' + clusterId);
1142
1149
  var clusterEleLabel = getElementFunction(getQueryConnect + '' + clusterId + '_datalabel_' + clusterIndex);
1143
1150
  clusterEle.setAttribute('visibility', 'hidden');
1144
1151
  clusterEleLabel.setAttribute('visibility', 'hidden');
1145
- var marker = maps.layers[layerIndex].markerSettings[markerIndex];
1146
- var markerEle = getElementFunction(getQueryConnect + '' + markerId + '_dataIndex_' + dataIndex);
1152
+ var markerEle = marker.shape === 'Balloon' ? getElementFunction(getQueryConnect + '' + markerId + '_dataIndex_' + dataIndex + '_Group') : getElementFunction(getQueryConnect + '' + markerId + '_dataIndex_' + dataIndex);
1147
1153
  var height = markerEle.parentElement.id.indexOf('Template_Group') > -1 ? markerEle.getBoundingClientRect().height : marker.height;
1148
1154
  var width = markerEle.parentElement.id.indexOf('Template_Group') > -1 ? markerEle.getBoundingClientRect().width : marker.width;
1149
1155
  var centerX = +clusterEle.getAttribute('transform').split('translate(')[1].trim().split(' ')[0];
@@ -1179,7 +1185,7 @@ function clusterSeparate(sameMarkerData, maps, markerElement, isDom) {
1179
1185
  var x1 = centerX + radius * Math.sin((Math.PI * 2 * newAngle) / 360);
1180
1186
  var y1 = centerY + radius * Math.cos((Math.PI * 2 * newAngle) / 360);
1181
1187
  path += start + 'L ' + (x1) + ' ' + y1 + ' ';
1182
- markerEle = getElementFunction(getQueryConnect + '' + markerId + '_dataIndex_' + sameMarkerData[0].data[i]['index']);
1188
+ markerEle = marker.shape === 'Balloon' ? getElementFunction(getQueryConnect + '' + markerId + '_dataIndex_' + sameMarkerData[0].data[i]['index'] + '_Group') : getElementFunction(getQueryConnect + '' + markerId + '_dataIndex_' + sameMarkerData[0].data[i]['index']);
1183
1189
  if (markerEle.parentElement.id.indexOf('Template_Group') > -1) {
1184
1190
  markerEle['style']['transform'] = '';
1185
1191
  markerEle['style']['left'] = maps.isTileMap ? x1 - (width / 2) + 'px' : (x1 - (width / 2) - 10) + 'px';
@@ -1200,7 +1206,12 @@ function clusterSeparate(sameMarkerData, maps, markerElement, isDom) {
1200
1206
  markerElement = isDom ? getElementFunction(maps.element.id + '_Markers_Group') : markerElement;
1201
1207
  var groupEle = maps.renderer.createGroup({ id: maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_' + markerIndex + '_markerClusterConnectorLine' });
1202
1208
  groupEle.appendChild(maps.renderer.drawPath(options));
1203
- markerElement.insertBefore(groupEle, markerElement.querySelector('#' + markerId + '_dataIndex_0'));
1209
+ if (marker.shape === 'Balloon') {
1210
+ markerElement.insertBefore(groupEle, markerElement.querySelector('#' + markerId + '_dataIndex_0_Group'));
1211
+ }
1212
+ else {
1213
+ markerElement.insertBefore(groupEle, markerElement.querySelector('#' + markerId + '_dataIndex_0'));
1214
+ }
1204
1215
  }
1205
1216
  /**
1206
1217
  *
@@ -1227,6 +1238,7 @@ function marker(eventArgs, markerSettings, markerData, dataIndex, location, tran
1227
1238
  dashArray: markerSettings.dashArray, borderOpacity: isNullOrUndefined(eventArgs.border.opacity) ? markerSettings.opacity :
1228
1239
  eventArgs.border.opacity
1229
1240
  };
1241
+ removeElement(markerID);
1230
1242
  var ele = drawSymbols(eventArgs.shape, eventArgs.imageUrl, { x: 0, y: 0 }, markerID, shapeCustom, markerCollection, maps);
1231
1243
  var x = (maps.isTileMap ? location.x : (location.x + transPoint.x) * scale) + offset.x;
1232
1244
  var y = (maps.isTileMap ? location.y : (location.y + transPoint.y) * scale) + offset.y;
@@ -1257,7 +1269,7 @@ function marker(eventArgs, markerSettings, markerData, dataIndex, location, tran
1257
1269
  */
1258
1270
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1259
1271
  function markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplate, location, transPoint, scale, offset, maps) {
1260
- templateFn = getTemplateFunction(eventArgs.template);
1272
+ templateFn = getTemplateFunction(eventArgs.template, maps);
1261
1273
  if (templateFn && (templateFn(data, maps, eventArgs.template, maps.element.id + '_MarkerTemplate' + markerIndex, false).length)) {
1262
1274
  var templateElement = templateFn(data, maps, eventArgs.template, maps.element.id + '_MarkerTemplate' + markerIndex, false);
1263
1275
  var markerElement = convertElement(templateElement, markerID, data, markerIndex, maps);
@@ -1604,7 +1616,7 @@ function drawBalloon(maps, options, size, location, type, element) {
1604
1616
  var y = size.height / 30;
1605
1617
  balloon.setAttribute('transform', 'translate(' + location.x + ', ' + location.y + ') scale(' + x + ', ' + y + ')');
1606
1618
  if (type === 'Marker') {
1607
- var g = maps.renderer.createGroup({ id: options.id });
1619
+ var g = maps.renderer.createGroup({ id: options.id + '_Group' });
1608
1620
  appendShape(balloon, g);
1609
1621
  pathElement = appendShape(g, element);
1610
1622
  }
@@ -2022,7 +2034,12 @@ function getTranslate(mapObject, layer, animate) {
2022
2034
  }
2023
2035
  else {
2024
2036
  if (isNullOrUndefined(mapObject.previousProjection) || mapObject.previousProjection !== mapObject.projectionType) {
2037
+ if (mapHeight === 0 || mapWidth === 0 || mapHeight === mapWidth) {
2038
+ mapWidth = size.width / 2;
2039
+ mapHeight = size.height;
2040
+ }
2025
2041
  scaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2042
+ scaleFactor = scaleFactor > 1.05 ? 1 : scaleFactor;
2026
2043
  mapWidth *= scaleFactor;
2027
2044
  mapHeight *= scaleFactor;
2028
2045
  var widthDiff = min['x'] !== 0 && mapObject.translateType === 'layers' ? availSize.width - size.width : 0;
@@ -2071,8 +2088,9 @@ function getTranslate(mapObject, layer, animate) {
2071
2088
  mapObject.zoomTranslatePoint.y = y;
2072
2089
  }
2073
2090
  else {
2074
- if (!isNullOrUndefined(mapObject.previousProjection) && mapObject.mapScaleValue === 1 && !mapObject.zoomModule.isDragZoom) {
2091
+ if (!isNullOrUndefined(mapObject.previousProjection) && (mapObject.mapScaleValue === 1 || mapObject.mapScaleValue <= 1.05) && !mapObject.zoomModule.isDragZoom) {
2075
2092
  scaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2093
+ scaleFactor = scaleFactor > 1.05 ? 1 : scaleFactor;
2076
2094
  mapWidth *= scaleFactor;
2077
2095
  x = size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2)));
2078
2096
  mapHeight *= scaleFactor;
@@ -2229,6 +2247,8 @@ function getZoomTranslate(mapObject, layer, animate) {
2229
2247
  }
2230
2248
  }
2231
2249
  scaleFactor = (mapObject.enablePersistence) ? (mapObject.mapScaleValue === 0 ? 1 : mapObject.mapScaleValue) : scaleFactor;
2250
+ mapObject.widthBeforeRefresh = mapObject.availableSize.width;
2251
+ mapObject.heightBeforeRefresh = mapObject.availableSize.height;
2232
2252
  return { scale: animate ? 1 : scaleFactor, location: new Point(x, y) };
2233
2253
  }
2234
2254
  /**
@@ -2292,7 +2312,7 @@ function Internalize(maps, value) {
2292
2312
  * @private
2293
2313
  */
2294
2314
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2295
- function getTemplateFunction(template) {
2315
+ function getTemplateFunction(template, maps) {
2296
2316
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2297
2317
  var templateFn = null;
2298
2318
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2300,6 +2320,9 @@ function getTemplateFunction(template) {
2300
2320
  if (document.querySelectorAll(template).length) {
2301
2321
  templateFn = compile(document.querySelector(template).innerHTML.trim());
2302
2322
  }
2323
+ else if (maps.isVue || maps.isVue3) {
2324
+ templateFn = compile(template);
2325
+ }
2303
2326
  }
2304
2327
  catch (e) {
2305
2328
  templateFn = compile(template);
@@ -2703,6 +2726,7 @@ function createTooltip(id, text, top, left, fontSize) {
2703
2726
  'left:' + left.toString() + 'px;' +
2704
2727
  'color: #000000; ' +
2705
2728
  'background:' + '#FFFFFF' + ';' +
2729
+ 'z-index: 2;' +
2706
2730
  'position:absolute;border:1px solid #707070;font-size:' + fontSize + ';border-radius:2px;';
2707
2731
  if (!tooltip) {
2708
2732
  tooltip = createElement('div', {
@@ -2891,6 +2915,7 @@ function changeBorderWidth(element, index, scale, maps) {
2891
2915
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2892
2916
  var borderWidthValue = maps.layersCollection[index].shapeSettings.borderWidthValuePath;
2893
2917
  var borderWidth = maps.layersCollection[index].shapeSettings.border.width;
2918
+ var circleRadius = maps.layersCollection[index].shapeSettings.circleRadius;
2894
2919
  if (maps.layersCollection[index].shapeSettings.borderWidthValuePath) {
2895
2920
  value = checkShapeDataFields(
2896
2921
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2903,13 +2928,16 @@ function changeBorderWidth(element, index, scale, maps) {
2903
2928
  currentStroke = (isNullOrUndefined(borderWidth) ? 0 : borderWidth);
2904
2929
  }
2905
2930
  }
2931
+ else {
2932
+ currentStroke = (isNullOrUndefined(borderWidth) ? 0 : borderWidth);
2933
+ }
2906
2934
  }
2907
2935
  else {
2908
2936
  currentStroke = (isNullOrUndefined(borderWidth) ? 0 : borderWidth);
2909
2937
  }
2910
2938
  childNode.setAttribute('stroke-width', (currentStroke / scale).toString());
2911
- if (element.id.indexOf('_LineString') > -1 && isNullOrUndefined(currentStroke)) {
2912
- childNode.setAttribute('stroke-width', (1 / scale).toString());
2939
+ if (element.id.indexOf('_Point') > -1 || element.id.indexOf('_MultiPoint') > -1) {
2940
+ childNode.setAttribute('r', (circleRadius / scale).toString());
2913
2941
  }
2914
2942
  }
2915
2943
  }
@@ -3103,7 +3131,10 @@ function animate(element, delay, duration, process, end) {
3103
3131
  else {
3104
3132
  window.cancelAnimationFrame(clearAnimation);
3105
3133
  end.call(_this, { element: element });
3106
- element.setAttribute('style', markerStyle);
3134
+ if (element.id.indexOf('Marker') > -1) {
3135
+ var markerElement = getElementByID(element.id.split('_Layer')[0] + '_Markers_Group');
3136
+ markerElement.setAttribute('style', markerStyle);
3137
+ }
3107
3138
  }
3108
3139
  };
3109
3140
  clearAnimation = window.requestAnimationFrame(startAnimation);
@@ -3431,11 +3462,11 @@ function getShapeColor(theme) {
3431
3462
  themePalette = ['#5ECB9B', '#A860F1', '#EBA844', '#557EF7', '#E9599B',
3432
3463
  '#BFC529', '#3BC6CF', '#7A68EC', '#74B706', '#EA6266'];
3433
3464
  break;
3434
- case 'fluentui':
3465
+ case 'fluent':
3435
3466
  themePalette = ['#614570', '#4C6FB1', '#CC6952', '#3F579A', '#4EA09B',
3436
3467
  '#6E7A89', '#D4515C', '#E6AF5D', '#639751', '#9D4D69'];
3437
3468
  break;
3438
- case 'fluentuidark':
3469
+ case 'fluentdark':
3439
3470
  themePalette = ['#8AB113', '#2A72D5', '#43B786', '#584EC6', '#E85F9C',
3440
3471
  '#6E7A89', '#EA6266', '#EBA844', '#26BC7A', '#BC4870'];
3441
3472
  break;
@@ -3576,6 +3607,7 @@ function getThemeStyle(theme) {
3576
3607
  backgroundColor: color,
3577
3608
  areaBackgroundColor: color,
3578
3609
  titleFontColor: '#FFFFFF',
3610
+ titleFontSize: '14px',
3579
3611
  subTitleFontColor: '#FFFFFF',
3580
3612
  legendTitleFontColor: '#DADADA',
3581
3613
  legendTextColor: '#DADADA',
@@ -3595,6 +3627,7 @@ function getThemeStyle(theme) {
3595
3627
  backgroundColor: '#000000',
3596
3628
  areaBackgroundColor: '#000000',
3597
3629
  titleFontColor: '#FFFFFF',
3630
+ titleFontSize: '14px',
3598
3631
  subTitleFontColor: '#FFFFFF',
3599
3632
  legendTitleFontColor: '#FFFFFF',
3600
3633
  legendTextColor: '#FFFFFF',
@@ -3724,7 +3757,7 @@ function getThemeStyle(theme) {
3724
3757
  shapeFill: '#495057'
3725
3758
  };
3726
3759
  break;
3727
- case 'fluentui':
3760
+ case 'fluent':
3728
3761
  style = {
3729
3762
  backgroundColor: 'rgba(255,255,255, 0.0)',
3730
3763
  areaBackgroundColor: 'rgba(255,255,255, 0.0)',
@@ -3747,7 +3780,7 @@ function getThemeStyle(theme) {
3747
3780
  shapeFill: '#F3F2F1'
3748
3781
  };
3749
3782
  break;
3750
- case 'fluentuidark':
3783
+ case 'fluentdark':
3751
3784
  style = {
3752
3785
  backgroundColor: 'rgba(255,255,255, 0.0)',
3753
3786
  areaBackgroundColor: 'rgba(255,255,255, 0.0)',
@@ -3775,6 +3808,7 @@ function getThemeStyle(theme) {
3775
3808
  backgroundColor: '#FFFFFF',
3776
3809
  areaBackgroundColor: '#FFFFFF',
3777
3810
  titleFontColor: '#424242',
3811
+ titleFontSize: '14px',
3778
3812
  subTitleFontColor: '#424242',
3779
3813
  legendTitleFontColor: '#757575',
3780
3814
  legendTextColor: '#757575',
@@ -3793,25 +3827,25 @@ function getThemeStyle(theme) {
3793
3827
  return style;
3794
3828
  }
3795
3829
 
3796
- var __extends$2 = (undefined && undefined.__extends) || (function () {
3797
- var extendStatics = function (d, b) {
3798
- extendStatics = Object.setPrototypeOf ||
3799
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3800
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
3801
- return extendStatics(d, b);
3802
- };
3803
- return function (d, b) {
3804
- extendStatics(d, b);
3805
- function __() { this.constructor = d; }
3806
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3807
- };
3808
- })();
3809
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3810
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3811
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3812
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3813
- return c > 3 && r && Object.defineProperty(target, key, r), r;
3814
- };
3830
+ var __extends$2 = (undefined && undefined.__extends) || (function () {
3831
+ var extendStatics = function (d, b) {
3832
+ extendStatics = Object.setPrototypeOf ||
3833
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3834
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
3835
+ return extendStatics(d, b);
3836
+ };
3837
+ return function (d, b) {
3838
+ extendStatics(d, b);
3839
+ function __() { this.constructor = d; }
3840
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3841
+ };
3842
+ })();
3843
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3844
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3845
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3846
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3847
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3848
+ };
3815
3849
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
3816
3850
  /**
3817
3851
  * Maps base document
@@ -4299,7 +4333,7 @@ var SubTitleSettings = /** @__PURE__ @class */ (function (_super) {
4299
4333
  return _super !== null && _super.apply(this, arguments) || this;
4300
4334
  }
4301
4335
  __decorate$1([
4302
- Complex({ size: Theme.mapsSubTitleFont.size, fontWeight: null }, Font)
4336
+ Complex({ size: null, fontWeight: null, fontFamily: null }, Font)
4303
4337
  ], SubTitleSettings.prototype, "textStyle", void 0);
4304
4338
  __decorate$1([
4305
4339
  Property('Center')
@@ -4315,7 +4349,7 @@ var TitleSettings = /** @__PURE__ @class */ (function (_super) {
4315
4349
  return _super !== null && _super.apply(this, arguments) || this;
4316
4350
  }
4317
4351
  __decorate$1([
4318
- Complex({ size: Theme.mapsTitleFont.size, fontWeight: null }, Font)
4352
+ Complex({ size: null, fontWeight: null, fontFamily: null }, Font)
4319
4353
  ], TitleSettings.prototype, "textStyle", void 0);
4320
4354
  __decorate$1([
4321
4355
  Property('Center')
@@ -4459,7 +4493,7 @@ var LegendSettings = /** @__PURE__ @class */ (function (_super) {
4459
4493
  Property('')
4460
4494
  ], LegendSettings.prototype, "height", void 0);
4461
4495
  __decorate$1([
4462
- Complex({}, Font)
4496
+ Complex({ fontFamily: null }, Font)
4463
4497
  ], LegendSettings.prototype, "textStyle", void 0);
4464
4498
  __decorate$1([
4465
4499
  Property(15)
@@ -4480,7 +4514,7 @@ var LegendSettings = /** @__PURE__ @class */ (function (_super) {
4480
4514
  Complex({}, CommonTitleSettings)
4481
4515
  ], LegendSettings.prototype, "title", void 0);
4482
4516
  __decorate$1([
4483
- Complex(Theme.legendTitleFont, Font)
4517
+ Complex({ size: Theme.legendTitleFont.size, color: Theme.legendTitleFont.color, fontStyle: Theme.legendTitleFont.fontStyle, fontWeight: Theme.legendTitleFont.fontWeight, fontFamily: null }, Font)
4484
4518
  ], LegendSettings.prototype, "titleStyle", void 0);
4485
4519
  __decorate$1([
4486
4520
  Property('Bottom')
@@ -4743,7 +4777,7 @@ var LayerSettings = /** @__PURE__ @class */ (function (_super) {
4743
4777
  Property('Geometry')
4744
4778
  ], LayerSettings.prototype, "layerType", void 0);
4745
4779
  __decorate$1([
4746
- Property('https://a.tile.openstreetmap.org/level/tileX/tileY.png')
4780
+ Property('')
4747
4781
  ], LayerSettings.prototype, "urlTemplate", void 0);
4748
4782
  __decorate$1([
4749
4783
  Property(true)
@@ -4835,102 +4869,103 @@ var Marker = /** @__PURE__ @class */ (function () {
4835
4869
  this.trackElements = [];
4836
4870
  this.sameMarkerData = [];
4837
4871
  }
4838
- Marker.prototype.markerRender = function (layerElement, layerIndex, factor, type) {
4872
+ Marker.prototype.markerRender = function (maps, layerElement, layerIndex, factor, type) {
4839
4873
  var _this = this;
4840
4874
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4841
4875
  var templateFn;
4842
4876
  var markerCount = 0;
4843
4877
  var nullCount = 0;
4844
4878
  var markerTemplateCount = 0;
4845
- this.maps.translateType = 'marker';
4846
- var currentLayer = this.maps.layersCollection[layerIndex];
4847
- this.markerSVGObject = this.maps.renderer.createGroup({
4848
- id: this.maps.element.id + '_Markers_Group',
4879
+ maps.translateType = 'marker';
4880
+ var currentLayer = maps.layersCollection[layerIndex];
4881
+ this.markerSVGObject = maps.renderer.createGroup({
4882
+ id: maps.element.id + '_Markers_Group',
4849
4883
  class: 'GroupElement',
4850
4884
  style: 'pointer-events: auto;'
4851
4885
  });
4852
4886
  var markerTemplateEle = createElement('div', {
4853
- id: this.maps.element.id + '_LayerIndex_' + layerIndex + '_Markers_Template_Group',
4854
- className: this.maps.element.id + '_template',
4887
+ id: maps.element.id + '_LayerIndex_' + layerIndex + '_Markers_Template_Group',
4888
+ className: maps.element.id + '_template',
4855
4889
  styles: 'overflow: hidden; position: absolute;pointer-events: none;' +
4856
- 'top:' + this.maps.mapAreaRect.y + 'px;' +
4857
- 'left:' + this.maps.mapAreaRect.x + 'px;' +
4858
- 'height:' + this.maps.mapAreaRect.height + 'px;' +
4859
- 'width:' + this.maps.mapAreaRect.width + 'px;'
4890
+ 'top:' + maps.mapAreaRect.y + 'px;' +
4891
+ 'left:' + maps.mapAreaRect.x + 'px;' +
4892
+ 'height:' + maps.mapAreaRect.height + 'px;' +
4893
+ 'width:' + maps.mapAreaRect.width + 'px;'
4860
4894
  });
4861
4895
  currentLayer.markerSettings.map(function (markerSettings, markerIndex) {
4862
4896
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4863
4897
  var markerData = markerSettings.dataSource;
4864
4898
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4865
4899
  Array.prototype.forEach.call(markerData, function (data, dataIndex) {
4866
- _this.maps.markerNullCount = markerIndex > 0 && dataIndex === 0 ? 0 : _this.maps.markerNullCount;
4900
+ maps.markerNullCount = markerIndex > 0 && dataIndex === 0 ? 0 : maps.markerNullCount;
4867
4901
  var eventArgs = {
4868
4902
  cancel: false, name: markerRendering, fill: markerSettings.fill, height: markerSettings.height,
4869
4903
  width: markerSettings.width, imageUrl: markerSettings.imageUrl, shape: markerSettings.shape,
4870
- template: markerSettings.template, data: data, maps: _this.maps, marker: markerSettings,
4904
+ template: markerSettings.template, data: data, maps: maps, marker: markerSettings,
4871
4905
  border: markerSettings.border, colorValuePath: markerSettings.colorValuePath,
4872
4906
  shapeValuePath: markerSettings.shapeValuePath, imageUrlValuePath: markerSettings.imageUrlValuePath
4873
4907
  };
4874
- _this.maps.trigger('markerRendering', eventArgs, function (MarkerArgs) {
4908
+ maps.trigger('markerRendering', eventArgs, function (MarkerArgs) {
4875
4909
  eventArgs = markerColorChoose(eventArgs, data);
4876
4910
  eventArgs = markerShapeChoose(eventArgs, data);
4877
4911
  var lng = (!isNullOrUndefined(markerSettings.longitudeValuePath)) ?
4878
4912
  Number(getValueFromObject(data, markerSettings.longitudeValuePath)) : !isNullOrUndefined(data['longitude']) ?
4879
- parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) : 0;
4913
+ parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) : null;
4880
4914
  var lat = (!isNullOrUndefined(markerSettings.latitudeValuePath)) ?
4881
4915
  Number(getValueFromObject(data, markerSettings.latitudeValuePath)) : !isNullOrUndefined(data['latitude']) ?
4882
- parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? parseFloat(data['Latitude']) : 0;
4916
+ parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? parseFloat(data['Latitude']) : null;
4883
4917
  var offset = markerSettings.offset;
4884
4918
  if (!eventArgs.cancel && markerSettings.visible && !isNullOrUndefined(lng) && !isNullOrUndefined(lat)) {
4885
- var markerID = _this.maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
4919
+ var markerID = maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
4886
4920
  + markerIndex + '_dataIndex_' + dataIndex;
4887
- var location_1 = (_this.maps.isTileMap) ? convertTileLatLongToPoint(new MapLocation(lng, lat), factor, _this.maps.tileTranslatePoint, true) : convertGeoToPoint(lat, lng, factor, currentLayer, _this.maps);
4888
- var animate$$1 = currentLayer.animationDuration !== 0 || isNullOrUndefined(_this.maps.zoomModule);
4921
+ var location_1 = (maps.isTileMap) ? convertTileLatLongToPoint(new MapLocation(lng, lat), factor, maps.tileTranslatePoint, true) : convertGeoToPoint(lat, lng, factor, currentLayer, maps);
4922
+ var animate$$1 = currentLayer.animationDuration !== 0 || isNullOrUndefined(maps.zoomModule);
4889
4923
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4890
- var translate = (_this.maps.isTileMap) ? (currentLayer.type === 'SubLayer' && isNullOrUndefined(_this.maps.zoomModule)) ? location_1 = convertTileLatLongToPoint(new MapLocation(lng, lat), _this.maps.tileZoomLevel, _this.maps.tileTranslatePoint, true) : new Object() :
4891
- !isNullOrUndefined(_this.maps.zoomModule) && _this.maps.zoomSettings.zoomFactor > 1 ?
4892
- getZoomTranslate(_this.maps, currentLayer, animate$$1) :
4893
- getTranslate(_this.maps, currentLayer, animate$$1);
4894
- var scale = type === 'AddMarker' ? _this.maps.scale : translate['scale'];
4895
- var transPoint = type === 'AddMarker' ? _this.maps.translatePoint : translate['location'];
4924
+ var translate = (maps.isTileMap) ? (currentLayer.type === 'SubLayer' && isNullOrUndefined(maps.zoomModule)) ? location_1 = convertTileLatLongToPoint(new MapLocation(lng, lat), maps.tileZoomLevel, maps.tileTranslatePoint, true) : new Object() :
4925
+ !isNullOrUndefined(maps.zoomModule) && maps.zoomSettings.zoomFactor > 1 ?
4926
+ getZoomTranslate(maps, currentLayer, animate$$1) :
4927
+ getTranslate(maps, currentLayer, animate$$1);
4928
+ var scale = type === 'AddMarker' ? maps.scale : translate['scale'];
4929
+ var transPoint = type === 'AddMarker' ? maps.translatePoint : translate['location'];
4896
4930
  if (eventArgs.template && (!isNaN(location_1.x) && !isNaN(location_1.y))) {
4897
4931
  markerTemplateCount++;
4898
- markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplateEle, location_1, transPoint, scale, offset, _this.maps);
4932
+ markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplateEle, location_1, transPoint, scale, offset, maps);
4899
4933
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4900
- _this.maps.renderReactTemplates();
4934
+ maps.renderReactTemplates();
4901
4935
  }
4902
4936
  else if (!eventArgs.template && (!isNaN(location_1.x) && !isNaN(location_1.y))) {
4903
4937
  markerCount++;
4904
- marker(eventArgs, markerSettings, markerData, dataIndex, location_1, transPoint, markerID, offset, scale, _this.maps, _this.markerSVGObject);
4938
+ marker(eventArgs, markerSettings, markerData, dataIndex, location_1, transPoint, markerID, offset, scale, maps, _this.markerSVGObject);
4905
4939
  }
4906
4940
  }
4907
4941
  nullCount += (!isNaN(lat) && !isNaN(lng)) ? 0 : 1;
4908
4942
  markerTemplateCount += (eventArgs.cancel) ? 1 : 0;
4909
4943
  markerCount += (eventArgs.cancel) ? 1 : 0;
4910
- _this.maps.markerNullCount = (isNullOrUndefined(lng) || isNullOrUndefined(lat)) ? _this.maps.markerNullCount + 1 : _this.maps.markerNullCount;
4911
- var markerDataLength = markerData.length - _this.maps.markerNullCount;
4944
+ maps.markerNullCount = (isNullOrUndefined(lng) || isNullOrUndefined(lat)) ? maps.markerNullCount + 1 : maps.markerNullCount;
4945
+ var markerDataLength = markerData.length - maps.markerNullCount;
4912
4946
  if (_this.markerSVGObject.childElementCount === (markerDataLength - markerTemplateCount - nullCount) && (type !== 'Template')) {
4913
4947
  layerElement.appendChild(_this.markerSVGObject);
4914
4948
  if (currentLayer.markerClusterSettings.allowClustering) {
4915
- _this.maps.svgObject.appendChild(_this.markerSVGObject);
4916
- _this.maps.element.appendChild(_this.maps.svgObject);
4917
- if (currentLayer.layerType !== 'OSM' || !_this.maps.zoomSettings.enable) {
4918
- clusterTemplate(currentLayer, _this.markerSVGObject, _this.maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
4949
+ maps.svgObject.appendChild(_this.markerSVGObject);
4950
+ maps.element.appendChild(maps.svgObject);
4951
+ if ((currentLayer.layerType === 'OSM' || (currentLayer.urlTemplate.indexOf('openstreetmap') !== -1 && isNullOrUndefined(currentLayer.shapeData)))
4952
+ && maps.zoomSettings.enable) {
4953
+ layerElement.appendChild(_this.markerSVGObject);
4919
4954
  }
4920
4955
  else {
4921
- layerElement.appendChild(_this.markerSVGObject);
4956
+ clusterTemplate(currentLayer, _this.markerSVGObject, maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
4922
4957
  }
4923
4958
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4924
- _this.maps.renderReactTemplates();
4959
+ maps.renderReactTemplates();
4925
4960
  }
4926
4961
  }
4927
- if (markerTemplateEle.childElementCount === (markerData.length - markerCount - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
4928
- getElementByID(_this.maps.element.id + '_Secondary_Element').appendChild(markerTemplateEle);
4929
- if (_this.maps.checkInitialRender) {
4962
+ if (markerTemplateEle.childElementCount === (markerDataLength - markerCount - nullCount) && getElementByID(maps.element.id + '_Secondary_Element')) {
4963
+ getElementByID(maps.element.id + '_Secondary_Element').appendChild(markerTemplateEle);
4964
+ if (maps.checkInitialRender) {
4930
4965
  if (currentLayer.markerClusterSettings.allowClustering) {
4931
- clusterTemplate(currentLayer, markerTemplateEle, _this.maps, layerIndex, _this.markerSVGObject, layerElement, false, false);
4966
+ clusterTemplate(currentLayer, markerTemplateEle, maps, layerIndex, _this.markerSVGObject, layerElement, false, false);
4932
4967
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4933
- _this.maps.renderReactTemplates();
4968
+ maps.renderReactTemplates();
4934
4969
  }
4935
4970
  }
4936
4971
  }
@@ -5173,8 +5208,8 @@ var Marker = /** @__PURE__ @class */ (function () {
5173
5208
  }
5174
5209
  if ((target.indexOf('_cluster_') > -1)) {
5175
5210
  var isClusterSame = false;
5176
- var clusterElement = document.getElementById(target.indexOf('_datalabel_') > -1 ? target.split('_datalabel_')[0] : target);
5177
- var indexes = clusterElement.innerHTML.split(',').map(Number);
5211
+ var clusterElement = document.getElementById(target.indexOf('_datalabel_') > -1 ? layer.markerClusterSettings.shape === 'Balloon' ? target.split('_datalabel_')[0] + '_Group' : target.split('_datalabel_')[0] : layer.markerClusterSettings.shape === 'Balloon' ? target + '_Group' : target);
5212
+ var indexes = layer.markerClusterSettings.shape === 'Balloon' ? clusterElement.children[0].innerHTML.split(',').map(Number) : clusterElement.innerHTML.split(',').map(Number);
5178
5213
  collection_1 = [];
5179
5214
  for (var _i = 0, indexes_1 = indexes; _i < indexes_1.length; _i++) {
5180
5215
  var i = indexes_1[_i];
@@ -5243,14 +5278,14 @@ var Marker = /** @__PURE__ @class */ (function () {
5243
5278
  /**
5244
5279
  * To destroy the layers.
5245
5280
  *
5246
- * @param {Maps} maps - Specifies the instance of the map
5247
5281
  * @returns {void}
5248
5282
  * @private
5249
5283
  */
5250
- Marker.prototype.destroy = function (maps) {
5251
- /**
5252
- * Destroy method performed here
5253
- */
5284
+ Marker.prototype.destroy = function () {
5285
+ this.maps = null;
5286
+ this.trackElements = [];
5287
+ this.markerSVGObject = null;
5288
+ this.sameMarkerData = [];
5254
5289
  };
5255
5290
  return Marker;
5256
5291
  }());
@@ -5276,6 +5311,12 @@ var loaded = 'loaded';
5276
5311
  * @private
5277
5312
  */
5278
5313
  var click = 'click';
5314
+ /**
5315
+ * Specifies the maps onclick event name.
5316
+ *
5317
+ * @private
5318
+ */
5319
+ var onclick = 'onclick';
5279
5320
  /**
5280
5321
  * Specifies the maps right click event name.
5281
5322
  *
@@ -5470,9 +5511,21 @@ var BingMap = /** @__PURE__ @class */ (function () {
5470
5511
  }
5471
5512
  quadKey = quadKey + '' + digit;
5472
5513
  }
5473
- var subDomain = subDomains[Math.min(parseInt(quadKey.substr(quadKey.length - 1, 1), 10), subDomains.length)];
5474
- imageUrl = imageUrl.replace('{quadkey}', quadKey).replace('{subdomain}', subDomain);
5475
- return imageUrl += '&mkt=' + language + '&ur=IN&Key=' + key;
5514
+ if (!isNullOrUndefined(subDomains)) {
5515
+ var subDomain = subDomains[Math.min(parseInt(quadKey.substr(quadKey.length - 1, 1), 10), subDomains.length)];
5516
+ imageUrl = imageUrl.replace('{quadkey}', quadKey).replace('{subdomain}', subDomain);
5517
+ return imageUrl += '&mkt=' + language + '&ur=IN&Key=' + key;
5518
+ }
5519
+ else {
5520
+ return '';
5521
+ }
5522
+ };
5523
+ /**
5524
+ * @private
5525
+ */
5526
+ BingMap.prototype.destroy = function () {
5527
+ this.maps = null;
5528
+ this.subDomains = [];
5476
5529
  };
5477
5530
  return BingMap;
5478
5531
  }());
@@ -5745,8 +5798,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5745
5798
  else {
5746
5799
  this.clipRectElement = this.mapObject.renderer.drawClipPath(new RectOption(this.mapObject.element.id + '_MapArea_ClipRect', 'transparent', { width: 1, color: 'Gray' }, 1, {
5747
5800
  x: this.mapObject.isTileMap ? 0 : areaRect.x, y: this.mapObject.isTileMap ? 0 : areaRect.y,
5748
- width: areaRect.width, height: (areaRect.height < 0) ? 0 : !isNullOrUndefined(this.mapObject.legendModule) &&
5749
- this.mapObject.legendModule.totalPages.length > 0 ? this.mapObject.legendModule.legendTotalRect.height : areaRect.height
5801
+ width: areaRect.width, height: areaRect.height
5750
5802
  }));
5751
5803
  }
5752
5804
  this.layerGroup.appendChild(this.clipRectElement);
@@ -5757,6 +5809,14 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5757
5809
  _this.currentLayer = layer;
5758
5810
  _this.processLayers(layer, index);
5759
5811
  });
5812
+ if (!isNullOrUndefined(this.mapObject.legendModule) && this.mapObject.legendSettings.position === 'Float') {
5813
+ if (this.mapObject.isTileMap) {
5814
+ this.layerGroup.appendChild(this.mapObject.legendModule.legendGroup);
5815
+ }
5816
+ else {
5817
+ this.mapObject.svgObject.appendChild(this.mapObject.legendModule.legendGroup);
5818
+ }
5819
+ }
5760
5820
  };
5761
5821
  /**
5762
5822
  * Tile rendering
@@ -5884,7 +5944,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5884
5944
  panel.layerObject.appendChild(panel.mapObject.navigationLineModule.renderNavigation(panel.currentLayer, panel.mapObject.tileZoomLevel, layerIndex));
5885
5945
  }
5886
5946
  if (panel.mapObject.markerModule) {
5887
- panel.mapObject.markerModule.markerRender(panel.layerObject, layerIndex, panel.mapObject.tileZoomLevel, null);
5947
+ panel.mapObject.markerModule.markerRender(this.mapObject, panel.layerObject, layerIndex, panel.mapObject.tileZoomLevel, null);
5888
5948
  }
5889
5949
  panel.translateLayerElements(panel.layerObject, layerIndex);
5890
5950
  panel.layerGroup.appendChild(panel.layerObject);
@@ -5916,9 +5976,21 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5916
5976
  };
5917
5977
  this.mapObject.trigger('layerRendering', eventArgs, function (observedArgs) {
5918
5978
  if (!eventArgs.cancel && eventArgs.visible) {
5919
- if (layer.layerType !== 'Geometry') {
5979
+ if (layer.layerType === 'OSM') {
5980
+ layer.urlTemplate = 'https://a.tile.openstreetmap.org/level/tileX/tileY.png';
5981
+ }
5982
+ if (layer.layerType === 'Google') {
5983
+ layer.urlTemplate = 'https://mt1.google.com/vt/lyrs=m@129&hl=en&x=tileX&y=tileY&z=level';
5984
+ }
5985
+ if (layer.layerType !== 'Geometry' || (isNullOrUndefined(layer.shapeData) && !isNullOrUndefined(layer.urlTemplate) && layer.urlTemplate !== '')) {
5920
5986
  if (layer.layerType !== 'Bing' || _this.bing) {
5921
- _this.renderTileLayer(_this, layer, layerIndex);
5987
+ if (!isNullOrUndefined(layer.urlTemplate) && layer.urlTemplate.indexOf('quadkey') > -1) {
5988
+ var bing = new BingMap(_this.mapObject);
5989
+ _this.bingMapCalculation(layer, layerIndex, _this, bing);
5990
+ }
5991
+ else {
5992
+ _this.renderTileLayer(_this, layer, layerIndex);
5993
+ }
5922
5994
  }
5923
5995
  else if (layer.key && layer.key.length > 1) {
5924
5996
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -5951,7 +6023,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5951
6023
  proxy_1.renderTileLayer(proxy_1, layer, layerIndex, bing_1);
5952
6024
  _this.mapObject.arrangeTemplate();
5953
6025
  if (_this.mapObject.zoomModule && (_this.mapObject.previousScale !== _this.mapObject.scale)) {
5954
- _this.mapObject.zoomModule.applyTransform(true);
6026
+ _this.mapObject.zoomModule.applyTransform(_this.mapObject, true);
5955
6027
  }
5956
6028
  };
5957
6029
  ajax.send();
@@ -5987,6 +6059,17 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5987
6059
  this.mapObject.baseMapBounds = null;
5988
6060
  }
5989
6061
  };
6062
+ LayerPanel.prototype.bingMapCalculation = function (layer, layerIndex, proxy, bing) {
6063
+ bing.imageUrl = layer.urlTemplate;
6064
+ bing.subDomains = ['t0', 't1', 't2', 't3'];
6065
+ bing.maxZoom = '21';
6066
+ proxy.mapObject['bingMap'] = bing;
6067
+ proxy.renderTileLayer(proxy, layer, layerIndex, bing);
6068
+ this.mapObject.arrangeTemplate();
6069
+ if (this.mapObject.zoomModule && (this.mapObject.previousScale !== this.mapObject.scale)) {
6070
+ this.mapObject.zoomModule.applyTransform(this.mapObject, true);
6071
+ }
6072
+ };
5990
6073
  LayerPanel.prototype.bubbleCalculation = function (bubbleSettings, range) {
5991
6074
  if (bubbleSettings.dataSource != null && bubbleSettings != null) {
5992
6075
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -6179,60 +6262,66 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6179
6262
  }
6180
6263
  break;
6181
6264
  case 'LineString':
6182
- path += 'M ' + (currentShapeData[0]['point']['x']) + ' ' + (currentShapeData[0]['point']['y']);
6183
6265
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6184
- currentShapeData.map(function (lineData) {
6185
- path += 'L' + (lineData['point']['x']) + ' , ' + (lineData['point']['y']) + ' ';
6266
+ currentShapeData.map(function (lineData, index) {
6267
+ if (index === 0) {
6268
+ path += 'M ' + (lineData['point']['x']) + ' ' + (lineData['point']['y']);
6269
+ }
6270
+ else {
6271
+ path += 'L' + (lineData['point']['x']) + ' , ' + (lineData['point']['y']) + ' ';
6272
+ }
6273
+ });
6274
+ if (path.length > 3) {
6275
+ pathOptions = new PathOption(shapeID, 'transparent', !isNullOrUndefined(eventArgs.border.width) ? eventArgs.border.width : 1, !isNullOrUndefined(eventArgs.fill) ? eventArgs.fill :
6276
+ eventArgs.border.color, opacity, eventArgs.border.opacity, shapeSettings.dashArray, path);
6277
+ pathEle = _this.mapObject.renderer.drawPath(pathOptions);
6278
+ }
6279
+ break;
6280
+ case 'MultiLineString':
6281
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6282
+ currentShapeData.map(function (multilineData) {
6283
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6284
+ multilineData.map(function (lineData, index) {
6285
+ if (index === 0) {
6286
+ path += 'M ' + (lineData['point']['x']) + ' ' + (lineData['point']['y']);
6287
+ }
6288
+ else {
6289
+ path += 'L' + (lineData['point']['x']) + ' , ' + (lineData['point']['y']) + ' ';
6290
+ }
6291
+ });
6186
6292
  });
6187
6293
  if (path.length > 3) {
6188
- pathOptions = new PathOption(shapeID, 'transparent', !isNullOrUndefined(eventArgs.border.width) ? eventArgs.border.width : 1, eventArgs.border.color, opacity, eventArgs.border.opacity, shapeSettings.dashArray, path);
6294
+ pathOptions = new PathOption(shapeID, 'transparent', !isNullOrUndefined(eventArgs.border.width) ? eventArgs.border.width : 1, !isNullOrUndefined(eventArgs.fill) ? eventArgs.fill :
6295
+ eventArgs.border.color, opacity, eventArgs.border.opacity, shapeSettings.dashArray, path);
6189
6296
  pathEle = _this.mapObject.renderer.drawPath(pathOptions);
6190
6297
  }
6191
6298
  break;
6192
6299
  case 'Point':
6193
6300
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6194
6301
  var pointData = currentShapeData['point'];
6195
- var circleRadius = (_this.mapObject.layers[layerIndex].type !== 'SubLayer') ? shapeSettings.circleRadius : shapeSettings.circleRadius / _this.currentFactor;
6196
- circleOptions = new CircleOption(shapeID, eventArgs.fill, eventArgs.border, opacity, pointData['x'], pointData['y'], circleRadius, null);
6302
+ var circleRadius = (_this.mapObject.layers[layerIndex].type !== 'SubLayer') ? shapeSettings.circleRadius : shapeSettings.circleRadius / (_this.mapObject.isTileMap ? _this.mapObject.scale : _this.currentFactor);
6303
+ circleOptions = new CircleOption(shapeID, eventArgs.fill, eventArgs.border, opacity, pointData['x'], pointData['y'], circleRadius, shapeSettings.dashArray);
6197
6304
  pathEle = _this.mapObject.renderer.drawCircle(circleOptions);
6198
6305
  break;
6306
+ case 'MultiPoint':
6307
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6308
+ currentShapeData.map(function (multiPointData, index) {
6309
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6310
+ var pointData = multiPointData['point'];
6311
+ var circleRadius = (_this.mapObject.layers[layerIndex].type !== 'SubLayer') ? shapeSettings.circleRadius : shapeSettings.circleRadius / (_this.mapObject.isTileMap ? _this.mapObject.scale : _this.currentFactor);
6312
+ circleOptions = new CircleOption((shapeID + "_multiLine_" + index), eventArgs.fill, eventArgs.border, opacity, pointData['x'], pointData['y'], circleRadius, shapeSettings.dashArray);
6313
+ pathEle = _this.mapObject.renderer.drawCircle(circleOptions);
6314
+ _this.pathAttributeCalculate(groupElement, pathEle, drawingType, currentShapeData, i);
6315
+ });
6316
+ break;
6199
6317
  case 'Path':
6200
6318
  path = currentShapeData['point'];
6201
6319
  pathOptions = new PathOption(shapeID, eventArgs.fill, eventArgs.border.width, eventArgs.border.color, opacity, eventArgs.border.opacity, shapeSettings.dashArray, path);
6202
6320
  pathEle = _this.mapObject.renderer.drawPath(pathOptions);
6203
6321
  break;
6204
6322
  }
6205
- if (!isNullOrUndefined(pathEle)) {
6206
- var property = (Object.prototype.toString.call(_this.currentLayer.shapePropertyPath) === '[object Array]' ?
6207
- _this.currentLayer.shapePropertyPath : [_this.currentLayer.shapePropertyPath]);
6208
- var properties = void 0;
6209
- for (var j = 0; j < property.length; j++) {
6210
- if (!isNullOrUndefined(currentShapeData['property'])) {
6211
- properties = property[j];
6212
- break;
6213
- }
6214
- }
6215
- pathEle.setAttribute('aria-label', ((!isNullOrUndefined(currentShapeData['property'])) ?
6216
- (currentShapeData['property'][properties]) : ''));
6217
- pathEle.setAttribute('tabindex', (_this.mapObject.tabIndex + i + 3).toString());
6218
- if (drawingType === 'LineString') {
6219
- pathEle.setAttribute('style', 'outline:none');
6220
- }
6221
- maintainSelection(_this.mapObject.selectedElementId, _this.mapObject.shapeSelectionClass, pathEle, 'ShapeselectionMapStyle');
6222
- if (_this.mapObject.toggledShapeElementId) {
6223
- for (var j = 0; j < _this.mapObject.toggledShapeElementId.length; j++) {
6224
- var styleProperty = _this.mapObject.legendSettings.toggleLegendSettings.applyShapeSettings ?
6225
- _this.currentLayer.shapeSettings : _this.mapObject.legendSettings.toggleLegendSettings;
6226
- if (_this.mapObject.toggledShapeElementId[j] === pathEle.id) {
6227
- pathEle.setAttribute('fill', styleProperty.fill);
6228
- pathEle.setAttribute('stroke', styleProperty.border.color);
6229
- pathEle.setAttribute('fill-opacity', (styleProperty.opacity).toString());
6230
- pathEle.setAttribute('stroke-opacity', (isNullOrUndefined(styleProperty.border.opacity) ? styleProperty.opacity : styleProperty.border.opacity).toString());
6231
- pathEle.setAttribute('stroke-width', (styleProperty.border.width).toString());
6232
- }
6233
- }
6234
- }
6235
- groupElement.appendChild(pathEle);
6323
+ if (!isNullOrUndefined(pathEle) && drawingType !== 'MultiPoint') {
6324
+ _this.pathAttributeCalculate(groupElement, pathEle, drawingType, currentShapeData, i);
6236
6325
  }
6237
6326
  if (i === _this.currentLayer.layerData.length - 1) {
6238
6327
  _this.layerFeatures(layerIndex, colors, renderData, labelTemplateEle);
@@ -6250,6 +6339,50 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6250
6339
  this.layerFeatures(layerIndex, colors, renderData, labelTemplateEle);
6251
6340
  }
6252
6341
  };
6342
+ /**
6343
+ * layer features as bubble, marker, datalabel, navigation line.
6344
+ *
6345
+ * @param {groupElement} Element - Specifies the element to append the group
6346
+ * @param {pathEle} Element - Specifies the svg element
6347
+ * @param {drawingType} string - Specifies the data type
6348
+ * @param {currentShapeData} any - Specifies the layer of shapedata.
6349
+ * @param {index} number - Specifies the tab index.
6350
+ * @returns {void}
6351
+ */
6352
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6353
+ LayerPanel.prototype.pathAttributeCalculate = function (groupElement, pathEle, drawingType, currentShapeData, index) {
6354
+ var property = (Object.prototype.toString.call(this.currentLayer.shapePropertyPath) === '[object Array]' ?
6355
+ this.currentLayer.shapePropertyPath : [this.currentLayer.shapePropertyPath]);
6356
+ var properties;
6357
+ for (var j = 0; j < property.length; j++) {
6358
+ if (!isNullOrUndefined(currentShapeData['property'])) {
6359
+ properties = property[j];
6360
+ break;
6361
+ }
6362
+ }
6363
+ pathEle.setAttribute('aria-label', ((!isNullOrUndefined(currentShapeData['property'])) ?
6364
+ (currentShapeData['property'][properties]) : ''));
6365
+ pathEle.setAttribute('tabindex', (this.mapObject.tabIndex + index + 3).toString());
6366
+ pathEle.setAttribute('role', '');
6367
+ if (drawingType === 'LineString' || drawingType === 'MultiLineString') {
6368
+ pathEle.setAttribute('style', 'outline:none');
6369
+ }
6370
+ maintainSelection(this.mapObject.selectedElementId, this.mapObject.shapeSelectionClass, pathEle, 'ShapeselectionMapStyle');
6371
+ if (this.mapObject.toggledShapeElementId) {
6372
+ for (var j = 0; j < this.mapObject.toggledShapeElementId.length; j++) {
6373
+ var styleProperty = this.mapObject.legendSettings.toggleLegendSettings.applyShapeSettings ?
6374
+ this.currentLayer.shapeSettings : this.mapObject.legendSettings.toggleLegendSettings;
6375
+ if (this.mapObject.toggledShapeElementId[j] === pathEle.id) {
6376
+ pathEle.setAttribute('fill', styleProperty.fill);
6377
+ pathEle.setAttribute('stroke', styleProperty.border.color);
6378
+ pathEle.setAttribute('fill-opacity', (styleProperty.opacity).toString());
6379
+ pathEle.setAttribute('stroke-opacity', (isNullOrUndefined(styleProperty.border.opacity) ? styleProperty.opacity : styleProperty.border.opacity).toString());
6380
+ pathEle.setAttribute('stroke-width', (styleProperty.border.width).toString());
6381
+ }
6382
+ }
6383
+ }
6384
+ groupElement.appendChild(pathEle);
6385
+ };
6253
6386
  /**
6254
6387
  * layer features as bubble, marker, datalabel, navigation line.
6255
6388
  *
@@ -6310,7 +6443,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6310
6443
  _this.layerObject.appendChild(element);
6311
6444
  });
6312
6445
  if (this.mapObject.markerModule) {
6313
- this.mapObject.markerModule.markerRender(this.layerObject, layerIndex, (this.mapObject.isTileMap ? Math.floor(this.currentFactor)
6446
+ this.mapObject.markerModule.markerRender(this.mapObject, this.layerObject, layerIndex, (this.mapObject.isTileMap ? Math.floor(this.currentFactor)
6314
6447
  : this.currentFactor), null);
6315
6448
  }
6316
6449
  this.translateLayerElements(this.layerObject, layerIndex);
@@ -6437,7 +6570,8 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6437
6570
  break;
6438
6571
  case 'linestring':
6439
6572
  var extraSpace_1 = !isNullOrUndefined(this.currentLayer.shapeSettings.border.width) ?
6440
- this.currentLayer.shapeSettings.border.width : 1;
6573
+ (typeof (this.currentLayer.shapeSettings.border.width) === 'string' ?
6574
+ parseInt(this.currentLayer.shapeSettings.border.width, 10) : this.currentLayer.shapeSettings.border.width) : 1;
6441
6575
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6442
6576
  coordinates.map(function (points, index) {
6443
6577
  latitude = points[1];
@@ -6452,31 +6586,61 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6452
6586
  newData['type'] = type;
6453
6587
  this.currentLayer.layerData.push(newData);
6454
6588
  break;
6455
- case 'point': {
6456
- var arrayCollections_1 = false;
6457
- var extraSpace_2 = (!isNullOrUndefined(this.currentLayer.shapeSettings.border.width) ?
6458
- this.currentLayer.shapeSettings.border.width : 1) + (this.currentLayer.shapeSettings.circleRadius * 2);
6589
+ case 'multilinestring':
6590
+ var extraSpaces_1 = !isNullOrUndefined(this.currentLayer.shapeSettings.border.width) ?
6591
+ (typeof (this.currentLayer.shapeSettings.border.width) === 'string' ?
6592
+ parseInt(this.currentLayer.shapeSettings.border.width, 10) : this.currentLayer.shapeSettings.border.width) : 1;
6593
+ var multiLineData_1 = [];
6459
6594
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6460
- coordinates.map(function (points, index) {
6461
- if (Object.prototype.toString.call(points) === '[object Array]') {
6595
+ coordinates.map(function (multiPoints) {
6596
+ newData = [];
6597
+ multiPoints.map(function (points) {
6462
6598
  latitude = points[1];
6463
6599
  longitude = points[0];
6464
- arrayCollections_1 = true;
6465
6600
  var point = convertGeoToPoint(latitude, longitude, _this.currentFactor, _this.currentLayer, _this.mapObject);
6466
- _this.currentLayer.layerData.push({
6467
- point: point, type: type, lat: latitude, lng: longitude, property: properties
6601
+ _this.calculateBox(point, extraSpaces_1);
6602
+ newData.push({
6603
+ point: point, lat: latitude, lng: longitude
6468
6604
  });
6469
- }
6605
+ });
6606
+ multiLineData_1.push(newData);
6470
6607
  });
6471
- if (!arrayCollections_1) {
6472
- latitude = coordinates[1];
6473
- longitude = coordinates[0];
6474
- var point = convertGeoToPoint(latitude, longitude, this.currentFactor, this.currentLayer, this.mapObject);
6475
- this.calculateBox(point, extraSpace_2);
6476
- this.currentLayer.layerData.push({
6477
- point: point, type: type, lat: latitude, lng: longitude, property: properties
6608
+ multiLineData_1['property'] = properties;
6609
+ multiLineData_1['type'] = type;
6610
+ this.currentLayer.layerData.push(multiLineData_1);
6611
+ break;
6612
+ case 'point':
6613
+ var pointExtraSpace = (!isNullOrUndefined(this.currentLayer.shapeSettings.border.width) ?
6614
+ (typeof (this.currentLayer.shapeSettings.border.width) === 'string' ?
6615
+ parseInt(this.currentLayer.shapeSettings.border.width, 10) : this.currentLayer.shapeSettings.border.width) : 1) +
6616
+ (this.currentLayer.shapeSettings.circleRadius * 2);
6617
+ latitude = coordinates[1];
6618
+ longitude = coordinates[0];
6619
+ var point = convertGeoToPoint(latitude, longitude, this.currentFactor, this.currentLayer, this.mapObject);
6620
+ this.calculateBox(point, pointExtraSpace);
6621
+ this.currentLayer.layerData.push({
6622
+ point: point, type: type, lat: latitude, lng: longitude, property: properties
6623
+ });
6624
+ break;
6625
+ case 'multipoint': {
6626
+ var extraSpace_2 = (!isNullOrUndefined(this.currentLayer.shapeSettings.border.width) ?
6627
+ (typeof (this.currentLayer.shapeSettings.border.width) === 'string' ?
6628
+ parseInt(this.currentLayer.shapeSettings.border.width, 10) : this.currentLayer.shapeSettings.border.width) : 1) +
6629
+ (this.currentLayer.shapeSettings.circleRadius * 2);
6630
+ newData = [];
6631
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6632
+ coordinates.map(function (points) {
6633
+ latitude = points[1];
6634
+ longitude = points[0];
6635
+ var point = convertGeoToPoint(latitude, longitude, _this.currentFactor, _this.currentLayer, _this.mapObject);
6636
+ _this.calculateBox(point, extraSpace_2);
6637
+ newData.push({
6638
+ point: point, lat: latitude, lng: longitude
6478
6639
  });
6479
- }
6640
+ });
6641
+ newData['property'] = properties;
6642
+ newData['type'] = type;
6643
+ this.currentLayer.layerData.push(newData);
6480
6644
  break;
6481
6645
  }
6482
6646
  case 'path':
@@ -6488,12 +6652,12 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6488
6652
  };
6489
6653
  LayerPanel.prototype.calculateBox = function (point, extraSpace) {
6490
6654
  if (isNullOrUndefined(this.rectBounds)) {
6491
- this.rectBounds = { min: { x: point.x, y: point.y - extraSpace }, max: { x: point.x, y: point.y + extraSpace } };
6655
+ this.rectBounds = { min: { x: point.x - extraSpace, y: point.y - extraSpace }, max: { x: point.x + extraSpace, y: point.y + extraSpace } };
6492
6656
  }
6493
6657
  else {
6494
- this.rectBounds['min']['x'] = Math.min(this.rectBounds['min']['x'], point.x);
6658
+ this.rectBounds['min']['x'] = Math.min(this.rectBounds['min']['x'], point.x - extraSpace);
6495
6659
  this.rectBounds['min']['y'] = Math.min(this.rectBounds['min']['y'], point.y - extraSpace);
6496
- this.rectBounds['max']['x'] = Math.max(this.rectBounds['max']['x'], point.x);
6660
+ this.rectBounds['max']['x'] = Math.max(this.rectBounds['max']['x'], point.x + extraSpace);
6497
6661
  this.rectBounds['max']['y'] = Math.max(this.rectBounds['max']['y'], point.y + extraSpace);
6498
6662
  }
6499
6663
  };
@@ -6511,6 +6675,10 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6511
6675
  var end = convertGeoToPoint(bounds.latitude.max, bounds.longitude.max, null, layer, this.mapObject);
6512
6676
  mapHeight = end.y - start.y;
6513
6677
  mapWidth = end.x - start.x;
6678
+ if (mapHeight === 0 || mapWidth === 0) {
6679
+ mapWidth = mapSize.width / 2;
6680
+ mapHeight = mapSize.height;
6681
+ }
6514
6682
  }
6515
6683
  else {
6516
6684
  mapHeight = mapWidth = 500;
@@ -6605,15 +6773,28 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6605
6773
  _this.calculateRectBox(point[0]);
6606
6774
  });
6607
6775
  break;
6776
+ case 'multilinestring':
6777
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6778
+ coordinates.map(function (multiPoint, index) {
6779
+ multiPoint.map(function (point, index) {
6780
+ _this.calculateRectBox(point, 'multilinestring', index === 0 ? true : false);
6781
+ });
6782
+ });
6783
+ break;
6608
6784
  case 'linestring':
6609
6785
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6610
6786
  coordinates.map(function (point, index) {
6611
- _this.calculateRectBox(point, 'LineString', index === 0 ? true : false);
6787
+ _this.calculateRectBox(point, 'linestring', index === 0 ? true : false);
6612
6788
  });
6613
6789
  break;
6614
6790
  case 'point':
6615
6791
  _this.calculateRectBox(coordinates, 'point');
6616
6792
  break;
6793
+ case 'multipoint':
6794
+ coordinates.map(function (point, index) {
6795
+ _this.calculateRectBox(point, 'multipoint', index === 0 ? true : false);
6796
+ });
6797
+ break;
6617
6798
  }
6618
6799
  }
6619
6800
  });
@@ -6652,7 +6833,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6652
6833
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6653
6834
  LayerPanel.prototype.calculateRectBox = function (coordinates, type, isFirstItem) {
6654
6835
  var _this = this;
6655
- if (type !== 'LineString' && type !== 'point') {
6836
+ if ((type !== 'linestring' && type !== 'multilinestring') && (type !== 'point' && type !== 'multipoint')) {
6656
6837
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6657
6838
  Array.prototype.forEach.call(coordinates, function (currentCoords) {
6658
6839
  if (isNullOrUndefined(_this.mapObject.baseMapBounds)) {
@@ -6721,7 +6902,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6721
6902
  var tile = new Tile(tileI % ycount, j);
6722
6903
  tile.left = x;
6723
6904
  tile.top = y;
6724
- if (baseLayer.layerType === 'Bing') {
6905
+ if (baseLayer.layerType === 'Bing' || (bing && !isNullOrUndefined(baseLayer.urlTemplate) && baseLayer.urlTemplate !== '')) {
6725
6906
  var key = baseLayer.key;
6726
6907
  tile.src = bing.getBingMap(tile, key, baseLayer.bingMapType, userLang, bing.imageUrl, bing.subDomains);
6727
6908
  }
@@ -6750,11 +6931,13 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6750
6931
  if (!(layer.type === 'SubLayer' && layer.visible)) {
6751
6932
  continue;
6752
6933
  }
6753
- if (layer.layerType === 'OSM' || layer.layerType === 'Bing') {
6934
+ if ((layer.layerType !== 'Geometry' && layer.layerType !== 'GoogleStaticMap') || (layer.layerType === 'Geometry' &&
6935
+ isNullOrUndefined(layer.shapeData) && !isNullOrUndefined(layer.urlTemplate) && layer.urlTemplate !== '')) {
6754
6936
  for (var _b = 0, proxTiles_1 = proxTiles; _b < proxTiles_1.length; _b++) {
6755
6937
  var baseTile = proxTiles_1[_b];
6756
6938
  var subtile = extend({}, baseTile, {}, true);
6757
6939
  if (layer.layerType === 'Bing') {
6940
+ bing = new BingMap(this.mapObject);
6758
6941
  subtile.src = bing.getBingMap(subtile, layer.key, layer.bingMapType, userLang, bing.imageUrl, bing.subDomains);
6759
6942
  }
6760
6943
  else {
@@ -6800,7 +6983,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6800
6983
  else {
6801
6984
  if (type !== 'Pan' && element1 && element) {
6802
6985
  element1.appendChild(element.children[0]);
6803
- if (!isNullOrUndefined(document.getElementById(_this.mapObject.element.id + '_animated_tiles'))) {
6986
+ if (!_this.mapObject.isAddLayer && !isNullOrUndefined(document.getElementById(_this.mapObject.element.id + '_animated_tiles'))) {
6804
6987
  document.getElementById(_this.mapObject.element.id + '_animated_tiles').id =
6805
6988
  _this.mapObject.element.id + '_animated_tiles_old';
6806
6989
  }
@@ -6814,7 +6997,10 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6814
6997
  var id = 0;
6815
6998
  var _loop_3 = function (tile) {
6816
6999
  var imgElement = createElement('img');
7000
+ imgElement.setAttribute('height', '256px');
7001
+ imgElement.setAttribute('width', '256px');
6817
7002
  imgElement.setAttribute('src', tile.src);
7003
+ imgElement.setAttribute('alt', _this.mapObject.getLocalizedLabel('ImageNotFound'));
6818
7004
  var mapId = _this.mapObject.element.id;
6819
7005
  imgElement.onload = function () {
6820
7006
  if (document.getElementById(mapId + '_tile_' + id) && type === 'Pan') {
@@ -6926,7 +7112,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6926
7112
  '&zoom=' + zoom + '&center=' + center + '&maptype=' + mapType + '&key=' + apikey;
6927
7113
  document.getElementById(this.mapObject.element.id + '_tile_parent').innerHTML
6928
7114
  = '<div id="' + this.mapObject.element.id + '_StaticGoogleMap"' + 'style="position:absolute; left:' + eleWidth + 'px; top:'
6929
- + eleHeight + 'px"><img src="' + staticMapString + '"></div>';
7115
+ + eleHeight + 'px"><img src="' + staticMapString + '"' + 'alt="' + this.mapObject.getLocalizedLabel('ImageNotFound') + '"></div>';
6930
7116
  };
6931
7117
  /**
6932
7118
  * To find the tile translate point
@@ -6984,6 +7170,27 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6984
7170
  this.mapObject.previousTileHeight = factorY;
6985
7171
  return new Point(x, y);
6986
7172
  };
7173
+ /**
7174
+ * @returns {void}
7175
+ * @private
7176
+ */
7177
+ LayerPanel.prototype.destroy = function () {
7178
+ this.mapObject = null;
7179
+ this.groupElements = [];
7180
+ this.layerObject = null;
7181
+ this.currentLayer = null;
7182
+ this.rectBounds = null;
7183
+ this.tiles = [];
7184
+ this.clipRectElement = null;
7185
+ this.tileSvgObject = null;
7186
+ this.ajaxModule = null;
7187
+ this.ajaxResponse = [];
7188
+ this.layerGroup = null;
7189
+ if (!isNullOrUndefined(this.bing)) {
7190
+ this.bing.destroy();
7191
+ }
7192
+ this.bing = null;
7193
+ };
6987
7194
  return LayerPanel;
6988
7195
  }());
6989
7196
 
@@ -7039,7 +7246,7 @@ var Annotations = /** @__PURE__ @class */ (function () {
7039
7246
  if (argsData.cancel) {
7040
7247
  return;
7041
7248
  }
7042
- templateFn = getTemplateFunction(argsData.content);
7249
+ templateFn = getTemplateFunction(argsData.content, _this.map);
7043
7250
  if (templateFn && templateFn(_this.map, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex).length) {
7044
7251
  templateElement = Array.prototype.slice.call(templateFn(_this.map, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex));
7045
7252
  var length_1 = templateElement.length;
@@ -7099,35 +7306,34 @@ var Annotations = /** @__PURE__ @class */ (function () {
7099
7306
  /**
7100
7307
  * To destroy the annotation.
7101
7308
  *
7102
- * @param {Maps} map - Specifies the instance of the maps
7103
7309
  * @returns {void}
7104
7310
  * @private
7105
7311
  */
7106
- Annotations.prototype.destroy = function (map) {
7107
- // Destroy method performed here
7312
+ Annotations.prototype.destroy = function () {
7313
+ this.map = null;
7108
7314
  };
7109
7315
  return Annotations;
7110
7316
  }());
7111
7317
 
7112
- var __extends = (undefined && undefined.__extends) || (function () {
7113
- var extendStatics = function (d, b) {
7114
- extendStatics = Object.setPrototypeOf ||
7115
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7116
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7117
- return extendStatics(d, b);
7118
- };
7119
- return function (d, b) {
7120
- extendStatics(d, b);
7121
- function __() { this.constructor = d; }
7122
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7123
- };
7124
- })();
7125
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7126
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7127
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7128
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
7129
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7130
- };
7318
+ var __extends = (undefined && undefined.__extends) || (function () {
7319
+ var extendStatics = function (d, b) {
7320
+ extendStatics = Object.setPrototypeOf ||
7321
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7322
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7323
+ return extendStatics(d, b);
7324
+ };
7325
+ return function (d, b) {
7326
+ extendStatics(d, b);
7327
+ function __() { this.constructor = d; }
7328
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7329
+ };
7330
+ })();
7331
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7332
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7333
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7334
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
7335
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7336
+ };
7131
7337
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
7132
7338
  /* eslint-disable @typescript-eslint/no-unused-vars */
7133
7339
  /* eslint-disable radix */
@@ -7166,6 +7372,10 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7166
7372
  * Resize the map
7167
7373
  */
7168
7374
  _this.isResize = false;
7375
+ /**
7376
+ * @private
7377
+ */
7378
+ _this.isReset = false;
7169
7379
  /** @private */
7170
7380
  _this.baseSize = new Size(0, 0);
7171
7381
  /** @public */
@@ -7323,6 +7533,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7323
7533
  this.renderArea();
7324
7534
  this.processRequestJsonData();
7325
7535
  this.renderComplete();
7536
+ this.isAddLayer = !this.isTileMap ? false : this.isAddLayer;
7326
7537
  };
7327
7538
  /**
7328
7539
  * To Initialize the control rendering.
@@ -7463,16 +7674,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7463
7674
  };
7464
7675
  Maps.prototype.renderMap = function () {
7465
7676
  if (this.legendModule && this.legendSettings.visible) {
7466
- if (!this.isTileMap) {
7467
- this.legendModule.renderLegend();
7468
- }
7469
- else {
7470
- var layerCount = this.layersCollection.length - 1;
7471
- if (!this.layersCollection[layerCount].isBaseLayer) {
7472
- this.isTileMapSubLayer = true;
7473
- this.legendModule.renderLegend();
7474
- }
7475
- }
7677
+ this.legendModule.renderLegend();
7476
7678
  }
7477
7679
  this.createTile();
7478
7680
  if (this.zoomSettings.enable && this.zoomModule) {
@@ -7483,7 +7685,9 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7483
7685
  this.dataLabelShape = [];
7484
7686
  }
7485
7687
  this.mapLayerPanel.measureLayerPanel();
7486
- this.element.appendChild(this.svgObject);
7688
+ if (!isNullOrUndefined(this.svgObject)) {
7689
+ this.element.appendChild(this.svgObject);
7690
+ }
7487
7691
  var position = this.getExtraPosition();
7488
7692
  for (var i = 0; i < this.layers.length; i++) {
7489
7693
  if (position.x !== 0 || position.y !== 0) {
@@ -7555,12 +7759,16 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7555
7759
  bottom = svg.bottom - tile.bottom - element.offsetTop;
7556
7760
  top_1 = parseFloat(tileElement.style.top) + element.offsetTop;
7557
7761
  }
7558
- top_1 = (bottom <= 11) ? top_1 : (top_1 * 2);
7559
- left = (bottom <= 11) ? left : (left * 2);
7762
+ top_1 = (bottom <= 11) ? top_1 : (!isNullOrUndefined(this.legendModule) && this.legendSettings.position === 'Bottom') ? this.mapAreaRect.y : (top_1 * 2);
7763
+ left = (bottom <= 11) ? left : !isNullOrUndefined(this.legendModule) ? left : (left * 2);
7560
7764
  tileElement.style.top = top_1 + 'px';
7561
7765
  tileElement.style.left = left + 'px';
7562
7766
  tileElement1.style.top = top_1 + 'px';
7563
7767
  tileElement1.style.left = left + 'px';
7768
+ if (!isNullOrUndefined(this.legendModule) && this.legendModule.totalPages.length > 0) {
7769
+ tileElement.style.height = tileElement1.style.height = this.legendModule.legendTotalRect.height + 'px';
7770
+ tileElement.style.width = tileElement1.style.width = this.legendModule.legendTotalRect.width + 'px';
7771
+ }
7564
7772
  }
7565
7773
  this.arrangeTemplate();
7566
7774
  if (this.annotationsModule) {
@@ -7668,6 +7876,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7668
7876
  */
7669
7877
  Maps.prototype.addTabIndex = function () {
7670
7878
  this.element.setAttribute('aria-label', this.description || 'Maps Element');
7879
+ this.element.setAttribute('role', '');
7671
7880
  this.element.setAttribute('tabindex', this.tabIndex.toString());
7672
7881
  };
7673
7882
  // private setSecondaryElementPosition(): void {
@@ -7686,12 +7895,21 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7686
7895
  this.zoomModule.layerCollectionEle = getElementByID(this.element.id + '_Layer_Collections');
7687
7896
  }
7688
7897
  if (this.isTileMap && getElementByID(this.element.id + '_Tile_SVG') && getElementByID(this.element.id + '_tile_parent')) {
7689
- var tileRect = getElementByID(this.element.id + '_tile_parent').getBoundingClientRect();
7690
- var tileSvgRect = getElementByID(this.element.id + '_Tile_SVG').getBoundingClientRect();
7898
+ var tileElement = getElementByID(this.element.id + '_tile_parent');
7899
+ var tileSvgElement = getElementByID(this.element.id + '_Tile_SVG');
7900
+ var tileSvgParentElement = getElementByID(this.element.id + '_Tile_SVG_Parent');
7901
+ var tileRect = tileElement.getBoundingClientRect();
7902
+ var tileSvgRect = tileSvgElement.getBoundingClientRect();
7691
7903
  left = (tileRect.left - tileSvgRect.left);
7692
7904
  top = (tileRect.top - tileSvgRect.top);
7693
- getElementByID(this.element.id + '_Tile_SVG_Parent').style.left = left + 'px';
7694
- getElementByID(this.element.id + '_Tile_SVG_Parent').style.top = top + 'px';
7905
+ tileSvgParentElement.style.left = left + 'px';
7906
+ tileSvgParentElement.style.top = top + 'px';
7907
+ if (!isNullOrUndefined(this.legendModule) && this.legendModule.totalPages.length > 0) {
7908
+ tileElement.style.width = tileSvgElement.style.width = this.legendModule.legendTotalRect.width.toString();
7909
+ tileElement.style.height = tileSvgElement.style.height = this.legendModule.legendTotalRect.height.toString();
7910
+ tileSvgParentElement.style.width = this.legendModule.legendTotalRect.width + 'px';
7911
+ tileSvgParentElement.style.height = this.legendModule.legendTotalRect.height + 'px';
7912
+ }
7695
7913
  var markerTemplateElements = document.getElementsByClassName('template');
7696
7914
  if (!isNullOrUndefined(markerTemplateElements) && markerTemplateElements.length > 0) {
7697
7915
  for (var i = 0; i < markerTemplateElements.length; i++) {
@@ -7709,7 +7927,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7709
7927
  if (!isNullOrUndefined(elements) && elements.childElementCount > 0) {
7710
7928
  for (var i = 0; i < elements.childNodes.length; i++) {
7711
7929
  var childElement = elements.childNodes[i];
7712
- if (childElement.tagName === 'g') {
7930
+ if (childElement.tagName === 'g' && childElement.id.indexOf('_Legend_Group') == -1) {
7713
7931
  var layerIndex = parseFloat(childElement.id.split('_LayerIndex_')[1].split('_')[0]);
7714
7932
  for (var j = 0; j < childElement.childNodes.length; j++) {
7715
7933
  var childNode = childElement.childNodes[j];
@@ -7723,7 +7941,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7723
7941
  }
7724
7942
  }
7725
7943
  if (this.zoomModule && (this.previousScale !== this.scale)) {
7726
- this.zoomModule.applyTransform(true);
7944
+ this.zoomModule.applyTransform(this, true);
7727
7945
  }
7728
7946
  }
7729
7947
  };
@@ -7746,7 +7964,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7746
7964
  }
7747
7965
  var templateElements = document.getElementsByClassName(this.element.id + '_template');
7748
7966
  if (!isNullOrUndefined(templateElements) && templateElements.length > 0 &&
7749
- getElementByID(this.element.id + '_Layer_Collections') && this.layers[this.layers.length - 1].layerType !== 'OSM') {
7967
+ getElementByID(this.element.id + '_Layer_Collections') && !this.isTileMap) {
7750
7968
  for (var i = 0; i < templateElements.length; i++) {
7751
7969
  var offSetLetValue = 0;
7752
7970
  var offSetTopValue = 0;
@@ -7781,10 +7999,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7781
7999
  var mainLayer = this.layersCollection[0];
7782
8000
  var padding = 0;
7783
8001
  if (mainLayer.isBaseLayer && (mainLayer.layerType === 'OSM' || mainLayer.layerType === 'Bing' ||
7784
- mainLayer.layerType === 'GoogleStaticMap' || mainLayer.layerType === 'Google')) {
7785
- if (mainLayer.layerType === 'Google') {
7786
- mainLayer.urlTemplate = 'https://mt1.google.com/vt/lyrs=m@129&hl=en&x=tileX&y=tileY&z=level';
7787
- }
8002
+ mainLayer.layerType === 'GoogleStaticMap' || mainLayer.layerType === 'Google' || (!isNullOrUndefined(mainLayer.urlTemplate) && mainLayer.urlTemplate !== ''))) {
7788
8003
  removeElement(this.element.id + '_tile_parent');
7789
8004
  removeElement(this.element.id + '_tiles');
7790
8005
  removeElement('animated_tiles');
@@ -7832,7 +8047,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7832
8047
  var baseLayer = mainLayers[i];
7833
8048
  if (baseLayer.visible && baseIndex === i) {
7834
8049
  baseLayer.isBaseLayer = true;
7835
- this.isTileMap = (baseLayer.layerType === 'Geometry') ? false : true;
8050
+ this.isTileMap = (baseLayer.layerType === 'Geometry' && !isNullOrUndefined(baseLayer.shapeData)) ? false : true;
7836
8051
  this.layersCollection.push(baseLayer);
7837
8052
  break;
7838
8053
  }
@@ -7879,12 +8094,19 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7879
8094
  * @private
7880
8095
  */
7881
8096
  Maps.prototype.renderTitle = function (title, type, bounds, groupEle) {
7882
- var style = title.textStyle;
8097
+ var style = {
8098
+ size: title.textStyle.size,
8099
+ color: title.textStyle.color,
8100
+ fontFamily: title.textStyle.fontFamily,
8101
+ fontWeight: title.textStyle.fontWeight,
8102
+ fontStyle: title.textStyle.fontStyle,
8103
+ opacity: title.textStyle.opacity
8104
+ };
7883
8105
  var height;
7884
8106
  var width = Math.abs((this.margin.left + this.margin.right) - this.availableSize.width);
7885
- style.fontFamily = this.themeStyle.fontFamily || style.fontFamily;
8107
+ style.fontFamily = !isNullOrUndefined(style.fontFamily) ? style.fontFamily : this.themeStyle.fontFamily;
7886
8108
  style.fontWeight = style.fontWeight || this.themeStyle.titleFontWeight;
7887
- style.size = this.themeStyle.titleFontSize || style.size;
8109
+ style.size = type === 'title' ? (style.size || this.themeStyle.titleFontSize) : (style.size || Theme.mapsSubTitleFont.size);
7888
8110
  if (title.text) {
7889
8111
  if (isNullOrUndefined(groupEle)) {
7890
8112
  groupEle = this.renderer.createGroup({ id: this.element.id + '_Title_Group' });
@@ -7897,6 +8119,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7897
8119
  var titleBounds = new Rect(location_1.x, location_1.y, elementSize.width, elementSize.height);
7898
8120
  var element = renderTextElement(options, style, style.color || (type === 'title' ? this.themeStyle.titleFontColor : this.themeStyle.subTitleFontColor), groupEle);
7899
8121
  element.setAttribute('aria-label', this.description || title.text);
8122
+ element.setAttribute('role', '');
7900
8123
  if ((type === 'title' && !title.subtitleSettings.text) || (type === 'subtitle')) {
7901
8124
  height = Math.abs((titleBounds.y + this.margin.bottom) - this.availableSize.height);
7902
8125
  this.mapAreaRect = new Rect(this.margin.left, titleBounds.y + 10, width, height - 10);
@@ -8054,6 +8277,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8054
8277
  var id = event.target['id'];
8055
8278
  event.preventDefault();
8056
8279
  if (this.legendModule && (id.indexOf('_Left_Page_Rect') > -1 || id.indexOf('_Right_Page_Rect') > -1)) {
8280
+ this.mapAreaRect = this.legendModule.initialMapAreaRect;
8057
8281
  this.legendModule.currentPage = (id.indexOf('_Left_Page_') > -1) ? (this.legendModule.currentPage - 1) :
8058
8282
  (this.legendModule.currentPage + 1);
8059
8283
  this.legendModule.legendGroup = this.renderer.createGroup({ id: this.element.id + '_Legend_Group' });
@@ -8118,24 +8342,35 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8118
8342
  latitude: latitude, longitude: longitude,
8119
8343
  isShapeSelected: this.SelectedElement(targetEle)
8120
8344
  };
8121
- this.trigger('click', eventArgs_1, function (mouseArgs) {
8122
- if (targetEle.id.indexOf('shapeIndex') > -1) {
8123
- _this.mergeCluster();
8124
- if (getElement(_this.element.id + '_mapsTooltip') &&
8125
- _this.mapsTooltipModule.tooltipTargetID.indexOf('_MarkerIndex_') > -1) {
8126
- removeElement(_this.element.id + '_mapsTooltip');
8127
- }
8128
- }
8129
- if (_this.markerModule) {
8130
- _this.markerModule.markerClusterClick(e);
8131
- }
8132
- if (!eventArgs_1.cancel) {
8133
- _this.notify(click, targetEle);
8134
- }
8135
- if (!eventArgs_1.cancel && targetEle.id.indexOf('shapeIndex') !== -1) {
8136
- _this.triggerShapeSelection(targetEle);
8137
- }
8138
- });
8345
+ if (this.onclick) {
8346
+ eventArgs_1.name = onclick;
8347
+ this.trigger('onclick', eventArgs_1, function (mouseArgs) {
8348
+ _this.clickHandler(e, eventArgs_1, targetEle);
8349
+ });
8350
+ }
8351
+ else {
8352
+ this.trigger('click', eventArgs_1, function (mouseArgs) {
8353
+ _this.clickHandler(e, eventArgs_1, targetEle);
8354
+ });
8355
+ }
8356
+ }
8357
+ };
8358
+ Maps.prototype.clickHandler = function (e, eventArgs, targetEle) {
8359
+ if (targetEle.id.indexOf('shapeIndex') > -1) {
8360
+ this.mergeCluster();
8361
+ if (getElement(this.element.id + '_mapsTooltip') &&
8362
+ this.mapsTooltipModule.tooltipTargetID.indexOf('_MarkerIndex_') > -1) {
8363
+ removeElement(this.element.id + '_mapsTooltip');
8364
+ }
8365
+ }
8366
+ if (this.markerModule) {
8367
+ this.markerModule.markerClusterClick(e);
8368
+ }
8369
+ if (!eventArgs.cancel) {
8370
+ this.notify(click, targetEle);
8371
+ }
8372
+ if (!eventArgs.cancel && targetEle.id.indexOf('shapeIndex') !== -1) {
8373
+ this.triggerShapeSelection(targetEle);
8139
8374
  }
8140
8375
  };
8141
8376
  Maps.prototype.triggerShapeSelection = function (targetEle) {
@@ -8235,13 +8470,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8235
8470
  latitude = latLongValue.latitude;
8236
8471
  longitude = latLongValue.longitude;
8237
8472
  }
8238
- var eventArgs = {
8239
- cancel: false, name: click, target: targetId, x: e.clientX, y: e.clientY,
8240
- latitude: latitude, longitude: longitude, isShapeSelected: this.SelectedElement(targetEle)
8241
- };
8242
- // eslint-disable-next-line @typescript-eslint/no-empty-function
8243
- this.trigger('click', eventArgs, function (mouseArgs) {
8244
- });
8245
8473
  }
8246
8474
  this.titleTooltip(e, pageX, pageY, true);
8247
8475
  if (!isNullOrUndefined(this.legendModule)) {
@@ -8249,7 +8477,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8249
8477
  }
8250
8478
  }
8251
8479
  this.notify(Browser.touchEndEvent, e);
8252
- if (e.cancelable) {
8480
+ if (e.cancelable && !this.isTouch) {
8253
8481
  e.preventDefault();
8254
8482
  }
8255
8483
  return false;
@@ -8403,14 +8631,14 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8403
8631
  removeElement(this.element.id + '_EJ2_LegendTitle_Tooltip');
8404
8632
  }
8405
8633
  if ((targetId === (this.element.id + '_Map_title')) && (event.target.textContent.indexOf('...') > -1)) {
8406
- showTooltip(this.titleSettings.text, this.titleSettings.textStyle.size, x, y, this.element.offsetWidth, this.element.offsetHeight, this.element.id + '_EJ2_Title_Tooltip', getElement(this.element.id + '_Secondary_Element'), isTouch);
8634
+ showTooltip(this.titleSettings.text, this.titleSettings.textStyle.size || this.themeStyle.titleFontSize, x, y, this.element.offsetWidth, this.element.offsetHeight, this.element.id + '_EJ2_Title_Tooltip', getElement(this.element.id + '_Secondary_Element'), isTouch);
8407
8635
  }
8408
8636
  else {
8409
8637
  removeElement(this.element.id + '_EJ2_Title_Tooltip');
8410
8638
  }
8411
8639
  };
8412
8640
  /*
8413
-
8641
+
8414
8642
  /**
8415
8643
  * This method is used to perform operations while resizing the window.
8416
8644
  *
@@ -8438,6 +8666,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8438
8666
  _this.refreshing = true;
8439
8667
  _this.wireEVents();
8440
8668
  _this.render();
8669
+ _this.refreshing = false;
8441
8670
  }, 500);
8442
8671
  }
8443
8672
  }
@@ -8468,7 +8697,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8468
8697
  this.scale = zoomFactor;
8469
8698
  this.translatePoint.x = ((mapRect.left < svgRect.left ? x : 0) + (size.width / 2) - (position.x * zoomFactor)) / zoomFactor;
8470
8699
  this.translatePoint.y = ((mapRect.top < svgRect.top ? y : 0) + (size.height / 2) - (position.y * zoomFactor)) / zoomFactor;
8471
- this.zoomModule.applyTransform();
8700
+ this.zoomModule.applyTransform(this);
8472
8701
  }
8473
8702
  else {
8474
8703
  position = { x: size.width / 2, y: size.height / 2 };
@@ -8514,8 +8743,10 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8514
8743
  * @param {Object} layer - Specifies the layer for the maps.
8515
8744
  */
8516
8745
  Maps.prototype.addLayer = function (layer) {
8517
- this.layers.push(new LayerSettings(this.layers[0], 'layers', layer));
8518
- this.refresh();
8746
+ var mapsLayer = this.layers;
8747
+ mapsLayer.push(layer);
8748
+ this.isAddLayer = true;
8749
+ this.layers = mapsLayer;
8519
8750
  };
8520
8751
  /**
8521
8752
  * This method is used to remove a layer from map.
@@ -8524,8 +8755,9 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8524
8755
  * @returns {void}
8525
8756
  */
8526
8757
  Maps.prototype.removeLayer = function (index) {
8527
- this.layers.splice(index, 1);
8528
- this.refresh();
8758
+ var mapsLayer = this.layers;
8759
+ mapsLayer.splice(index, 1);
8760
+ this.layers = mapsLayer;
8529
8761
  };
8530
8762
  /**
8531
8763
  * This method is used to add markers dynamically in the maps.
@@ -8544,7 +8776,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8544
8776
  this.layersCollection[layerIndex].markerSettings.push(new MarkerSettings(this, 'markerSettings', newMarker));
8545
8777
  }
8546
8778
  var markerModule = new Marker(this);
8547
- markerModule.markerRender(layerEle, layerIndex, this.mapLayerPanel['currentFactor'], 'AddMarker');
8779
+ markerModule.markerRender(this, layerEle, layerIndex, this.mapLayerPanel['currentFactor'], 'AddMarker');
8548
8780
  this.arrangeTemplate();
8549
8781
  }
8550
8782
  };
@@ -8751,7 +8983,8 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8751
8983
  Zoom: 'Zoom',
8752
8984
  ZoomOut: 'Zoom out',
8753
8985
  Pan: 'Pan',
8754
- Reset: 'Reset'
8986
+ Reset: 'Reset',
8987
+ ImageNotFound: 'Image Not Found'
8755
8988
  };
8756
8989
  };
8757
8990
  /**
@@ -8759,6 +8992,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8759
8992
  */
8760
8993
  Maps.prototype.destroy = function () {
8761
8994
  this.unWireEVents();
8995
+ _super.prototype.destroy.call(this);
8762
8996
  this.shapeSelectionItem = [];
8763
8997
  this.toggledShapeElementId = [];
8764
8998
  this.toggledLegendId = [];
@@ -8773,11 +9007,14 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8773
9007
  this.zoomLabelPositions = [];
8774
9008
  this.mouseDownEvent = { x: null, y: null };
8775
9009
  this.mouseClickEvent = { x: null, y: null };
9010
+ this.formatFunction = null;
9011
+ //TODO: Calling the below code throws spec issue.
9012
+ //this.renderer = null;
9013
+ this.availableSize = new Size(0, 0);
8776
9014
  if (document.getElementById('mapsmeasuretext')) {
8777
9015
  document.getElementById('mapsmeasuretext').remove();
8778
9016
  }
8779
9017
  this.removeSvg();
8780
- _super.prototype.destroy.call(this);
8781
9018
  };
8782
9019
  /**
8783
9020
  * Gets component name
@@ -8810,6 +9047,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8810
9047
  Maps.prototype.onPropertyChanged = function (newProp, oldProp) {
8811
9048
  var render = false;
8812
9049
  var isMarker = false;
9050
+ var isLayer = false;
8813
9051
  var isStaticMapType = false;
8814
9052
  var layerEle;
8815
9053
  if (newProp['layers']) {
@@ -8830,13 +9068,18 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8830
9068
  case 'legendSettings':
8831
9069
  case 'baseLayerIndex':
8832
9070
  if (prop === 'layers') {
9071
+ isLayer = true;
8833
9072
  var layerPropLength = Object.keys(newProp.layers).length;
8834
9073
  for (var x = 0; x < layerPropLength; x++) {
8835
9074
  if (!isNullOrUndefined(newProp.layers[x])) {
8836
9075
  var collection = Object.keys(newProp.layers[x]);
8837
9076
  for (var _b = 0, collection_1 = collection; _b < collection_1.length; _b++) {
8838
9077
  var collectionProp = collection_1[_b];
8839
- if (collectionProp === 'markerSettings') {
9078
+ if ((collectionProp === 'layerType' && newProp.layers[x].layerType !== 'Geometry') || (isNullOrUndefined(this.layers[x].shapeData)
9079
+ && !isNullOrUndefined(this.layers[x].urlTemplate) && this.layers[x].urlTemplate !== '')) {
9080
+ this.isReset = true;
9081
+ }
9082
+ else if (collectionProp === 'markerSettings') {
8840
9083
  isMarker = true;
8841
9084
  }
8842
9085
  else if (collectionProp === 'staticMapType') {
@@ -8850,7 +9093,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8850
9093
  break;
8851
9094
  case 'zoomSettings':
8852
9095
  if (!isNullOrUndefined(oldProp.zoomSettings)) {
8853
- if (newProp.zoomSettings.zoomFactor !== oldProp.zoomSettings.zoomFactor) {
9096
+ if (newProp.zoomSettings.zoomFactor !== oldProp.zoomSettings.zoomFactor && !isLayer) {
8854
9097
  render = false;
8855
9098
  }
8856
9099
  else if (newProp.zoomSettings.shouldZoomInitially !== oldProp.zoomSettings.shouldZoomInitially) {
@@ -9087,7 +9330,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
9087
9330
  */
9088
9331
  Maps.prototype.print = function (id) {
9089
9332
  if ((this.allowPrint) && (this.printModule)) {
9090
- this.printModule.print(id);
9333
+ this.printModule.print(this, id);
9091
9334
  }
9092
9335
  };
9093
9336
  /**
@@ -9106,16 +9349,38 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
9106
9349
  }
9107
9350
  if ((type !== 'PDF') && (this.allowImageExport) && (this.imageExportModule)) {
9108
9351
  return new Promise(function (resolve, reject) {
9109
- resolve(_this.imageExportModule.export(type, fileName, allowDownload));
9352
+ resolve(_this.imageExportModule.export(_this, type, fileName, allowDownload));
9110
9353
  });
9111
9354
  }
9112
9355
  else if ((this.allowPdfExport) && (this.pdfExportModule)) {
9113
9356
  return new Promise(function (resolve, reject) {
9114
- resolve(_this.pdfExportModule.export(type, fileName, allowDownload, orientation));
9357
+ resolve(_this.pdfExportModule.export(_this, type, fileName, allowDownload, orientation));
9115
9358
  });
9116
9359
  }
9117
9360
  return null;
9118
9361
  };
9362
+ /**
9363
+ * This method is used to get the Bing maps URL.
9364
+ *
9365
+ * @param {string} url - Specifies the URL of the maps.
9366
+ * @returns {Promise<string>} - Returns the processed Bing URL as Promise.
9367
+ */
9368
+ Maps.prototype.getBingUrlTemplate = function (url) {
9369
+ var promise = new Promise(function (resolve, reject) {
9370
+ var ajax = new Ajax({
9371
+ url: url
9372
+ });
9373
+ ajax.onSuccess = function (json) {
9374
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9375
+ var jsonObject = JSON.parse(json);
9376
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9377
+ var resource = jsonObject['resourceSets'][0]['resources'][0];
9378
+ resolve(resource['imageUrl']);
9379
+ };
9380
+ ajax.send();
9381
+ });
9382
+ return promise;
9383
+ };
9119
9384
  /**
9120
9385
  * To find visibility of layers and markers for required modules load.
9121
9386
  *
@@ -9324,6 +9589,9 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
9324
9589
  __decorate([
9325
9590
  Event()
9326
9591
  ], Maps.prototype, "click", void 0);
9592
+ __decorate([
9593
+ Event()
9594
+ ], Maps.prototype, "onclick", void 0);
9327
9595
  __decorate([
9328
9596
  Event()
9329
9597
  ], Maps.prototype, "doubleClick", void 0);
@@ -9470,12 +9738,8 @@ var Bubble = /** @__PURE__ @class */ (function () {
9470
9738
  isNaN(shapeData[layer.shapeDataPath]) ? shapeData[layer.shapeDataPath].toLowerCase() : shapeData[layer.shapeDataPath];
9471
9739
  var shapePathValue = !isNullOrUndefined(shape[shapePath]) && isNaN(shape[shapePath])
9472
9740
  ? shape[shapePath].toLowerCase() : shape[shapePath];
9473
- if (shapeDataLayerPathValue === shapePathValue && layerData[i].type !== 'LineString') {
9474
- if (layerData[i]['type'] === 'Point') {
9475
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9476
- shapePoints.push(this.getPoints(layerData[i], []));
9477
- }
9478
- else if (!layerData[i]['_isMultiPolygon']) {
9741
+ if (shapeDataLayerPathValue === shapePathValue && (layerData[i].type !== 'LineString' && layerData[i].type !== 'MultiLineString' && layerData[i]['type'] !== 'Point' && layerData[i]['type'] !== 'MultiPoint')) {
9742
+ if (!layerData[i]['_isMultiPolygon']) {
9479
9743
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9480
9744
  shapePoints.push(this.getPoints(layerData[i], []));
9481
9745
  currentLength = shapePoints[shapePoints.length - 1].length;
@@ -9559,7 +9823,7 @@ var Bubble = /** @__PURE__ @class */ (function () {
9559
9823
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9560
9824
  var translate;
9561
9825
  var animate$$1 = layer.animationDuration !== 0 || isNullOrUndefined(_this.maps.zoomModule);
9562
- if (_this.maps.zoomSettings.zoomFactor > 1 && !isNullOrUndefined(_this.maps.zoomModule)) {
9826
+ if (_this.maps.zoomSettings.zoomFactor > 1 && !isNullOrUndefined(_this.maps.zoomModule) && !_this.maps.isTileMap) {
9563
9827
  translate = getZoomTranslate(_this.maps, layer, animate$$1);
9564
9828
  }
9565
9829
  else {
@@ -9676,14 +9940,13 @@ var Bubble = /** @__PURE__ @class */ (function () {
9676
9940
  /**
9677
9941
  * To destroy the bubble.
9678
9942
  *
9679
- * @param {Maps} maps - Specifies the instance of the maps.
9680
9943
  * @returns {void}
9681
9944
  * @private
9682
9945
  */
9683
- Bubble.prototype.destroy = function (maps) {
9684
- /**
9685
- * Destroy method performed here
9686
- */
9946
+ Bubble.prototype.destroy = function () {
9947
+ this.bubbleCollection = [];
9948
+ //TODO: Calling the below code throws spec issue.
9949
+ //this.maps = null;
9687
9950
  };
9688
9951
  return Bubble;
9689
9952
  }());
@@ -9782,7 +10045,7 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9782
10045
  var shapeWidth;
9783
10046
  var scaleZoomValue = !isNullOrUndefined(this.maps.scale) ? Math.floor(this.maps.scale) : 1;
9784
10047
  var zoomLabelsPosition = this.maps.zoomSettings.enable ? !isNullOrUndefined(this.maps.zoomShapeCollection) &&
9785
- this.maps.zoomShapeCollection.length > 0 : this.maps.zoomSettings.enable;
10048
+ this.maps.zoomShapeCollection.length > 0 && !this.maps.isAddLayer : this.maps.zoomSettings.enable;
9786
10049
  this.maps.translateType = 'labels';
9787
10050
  for (var j = 0; j < properties.length; j++) {
9788
10051
  if (shapeProperties[properties[j]]) {
@@ -9800,7 +10063,7 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9800
10063
  layer.dataSource, layer.shapeDataPath, shapeData['properties'][propertyPath], layer.shapeDataPath);
9801
10064
  if (!isNullOrUndefined(shapes['property'])) {
9802
10065
  shapePoint = [[]];
9803
- if (!layerData[index]['_isMultiPolygon'] && layerData[index]['type'] !== 'Point') {
10066
+ if (!layerData[index]['_isMultiPolygon'] && layerData[index]['type'] !== 'Point' && layerData[index]['type'] !== 'MultiPoint') {
9804
10067
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9805
10068
  shapePoint.push(this.getPoint(layerData[index], []));
9806
10069
  currentLength = shapePoint[shapePoint.length - 1].length;
@@ -9809,21 +10072,9 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9809
10072
  midIndex = shapePoint.length - 1;
9810
10073
  }
9811
10074
  }
9812
- else {
10075
+ else if (layerData[index]['type'] !== 'Point' && layerData[index]['type'] !== 'MultiPoint') {
9813
10076
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9814
10077
  var layer_1 = layerData[index];
9815
- if (layer_1['type'] === 'Point') {
9816
- isPoint = true;
9817
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9818
- var layerPoints = [];
9819
- layerPoints.push(this.getPoint(layerData, []));
9820
- shapePoint = layerPoints;
9821
- currentLength = shapePoint[shapePoint.length - 1].length;
9822
- if (pointsLength < currentLength) {
9823
- pointsLength = currentLength;
9824
- midIndex = shapePoint.length - 1;
9825
- }
9826
- }
9827
10078
  for (var j = 0; j < layer_1.length; j++) {
9828
10079
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9829
10080
  shapePoint.push(this.getPoint(layer_1[j], []));
@@ -9893,7 +10144,7 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9893
10144
  var eventargs_1 = {
9894
10145
  name: dataLabelRendering, maps: this.maps, cancel: false, border: { color: dataLabel.border.color,
9895
10146
  width: dataLabel.border.width, opacity: dataLabel.border.opacity }, datalabel: dataLabel,
9896
- fill: dataLabel.fill, template: dataLabel.template, text: text
10147
+ fill: dataLabel.fill, template: dataLabel.template, text: text, offsetX: 0, offsetY: 0
9897
10148
  };
9898
10149
  this.maps.trigger('dataLabelRendering', eventargs_1, function (labelArgs) {
9899
10150
  if (eventargs_1.cancel) {
@@ -9938,13 +10189,13 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9938
10189
  _this.value[index] = { rightWidth: xpositionEnds, leftWidth: xpositionStart, heightTop: start, heightBottom: end };
9939
10190
  var labelElement;
9940
10191
  if (eventargs_1.template !== '') {
9941
- templateFn = getTemplateFunction(eventargs_1.template);
10192
+ templateFn = getTemplateFunction(eventargs_1.template, _this.maps);
9942
10193
  var templateElement = templateFn ? templateFn(!isNullOrUndefined(datasrcObj) ?
9943
10194
  datasrcObj : shapeData['properties'], _this.maps, eventargs_1.template, _this.maps.element.id + '_LabelTemplate', false) : document.createElement('div');
9944
10195
  templateElement.innerHTML = !templateFn ? eventargs_1.template : '';
9945
10196
  labelElement = convertElementFromLabel(templateElement, labelId, !isNullOrUndefined(datasrcObj) ? datasrcObj : shapeData['properties'], index, _this.maps);
9946
- labelElement.style.left = ((Math.abs(_this.maps.baseMapRectBounds['min']['x'] - location['x'])) * scale) + 'px';
9947
- labelElement.style.top = ((Math.abs(_this.maps.baseMapRectBounds['min']['y'] - location['y'])) * scale) + 'px';
10197
+ labelElement.style.left = ((Math.abs(_this.maps.baseMapRectBounds['min']['x'] - location['x'])) * scale) + labelArgs.offsetX + 'px';
10198
+ labelElement.style.top = ((Math.abs(_this.maps.baseMapRectBounds['min']['y'] - location['y'])) * scale) + labelArgs.offsetY + 'px';
9948
10199
  labelTemplateElement.appendChild(labelElement);
9949
10200
  }
9950
10201
  else {
@@ -10032,26 +10283,26 @@ var DataLabel = /** @__PURE__ @class */ (function () {
10032
10283
  y = ((location['y'] + transPoint['y']) * scale) - textSize['height'] / 2;
10033
10284
  }
10034
10285
  border_1.opacity = isNullOrUndefined(border_1.opacity) ? opacity : border_1.opacity;
10035
- var rectOptions = new RectOption(_this.maps.element.id + '_LayerIndex_' + layerIndex + '_shapeIndex_' + index + '_rectIndex_' + index, fill, border_1, opacity, new Rect(x, y, textSize['width'], textSize['height']), rx, ry);
10286
+ var rectOptions = new RectOption(_this.maps.element.id + '_LayerIndex_' + layerIndex + '_shapeIndex_' + index + '_rectIndex_' + index, fill, border_1, opacity, new Rect((x + labelArgs.offsetX), (y + labelArgs.offsetY), textSize['width'], textSize['height']), rx, ry);
10036
10287
  var rect = _this.maps.renderer.drawRectangle(rectOptions);
10037
10288
  group.appendChild(rect);
10038
10289
  }
10039
10290
  }
10040
10291
  element = renderTextElement(options, style, style.color || _this.maps.themeStyle.dataLabelFontColor, group);
10041
10292
  if (zoomLabelsPosition && scaleZoomValue > 1 && !_this.maps.zoomNotApplied) {
10042
- element.setAttribute('transform', 'translate( ' + ((location['x'])) + ' '
10043
- + (((location['y']))) + ' )');
10293
+ element.setAttribute('transform', 'translate( ' + ((location['x'] + labelArgs.offsetX)) + ' '
10294
+ + (((location['y'] + labelArgs.offsetY))) + ' )');
10044
10295
  location['x'] = locationX;
10045
10296
  location['y'] = locationY;
10046
10297
  }
10047
10298
  else {
10048
- element.setAttribute('transform', 'translate( ' + ((location['x'] + transPoint.x) * scale) + ' '
10049
- + (((location['y'] + transPoint.y) * scale) + (elementSize.height / 4)) + ' )');
10299
+ element.setAttribute('transform', 'translate( ' + (((location['x'] + transPoint.x) * scale) + labelArgs.offsetX) + ' '
10300
+ + ((((location['y'] + transPoint.y) * scale) + (elementSize.height / 4)) + labelArgs.offsetY) + ' )');
10050
10301
  }
10051
10302
  group.appendChild(element);
10052
10303
  }
10053
10304
  _this.dataLabelCollections.push({
10054
- location: { x: location['x'], y: location['y'] },
10305
+ location: { x: location['x'] + labelArgs.offsetX, y: location['y'] + labelArgs.offsetY },
10055
10306
  element: isNullOrUndefined(labelElement) ? element : labelElement,
10056
10307
  layerIndex: layerIndex,
10057
10308
  shapeIndex: sublayerIndexLabel ? oldIndex : index,
@@ -10068,10 +10319,21 @@ var DataLabel = /** @__PURE__ @class */ (function () {
10068
10319
  };
10069
10320
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10070
10321
  DataLabel.prototype.getPoint = function (shapes, points) {
10071
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
10072
- shapes.map(function (current, index) {
10073
- points.push(new Point(current['point']['x'], current['point']['y']));
10074
- });
10322
+ if (shapes['type'] === 'MultiLineString') {
10323
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10324
+ shapes.map(function (current) {
10325
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10326
+ current.map(function (shape) {
10327
+ points.push(new Point(shape['point']['x'], shape['point']['y']));
10328
+ });
10329
+ });
10330
+ }
10331
+ else {
10332
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10333
+ shapes.map(function (current, index) {
10334
+ points.push(new Point(current['point']['x'], current['point']['y']));
10335
+ });
10336
+ }
10075
10337
  return points;
10076
10338
  };
10077
10339
  /**
@@ -10083,16 +10345,14 @@ var DataLabel = /** @__PURE__ @class */ (function () {
10083
10345
  return 'DataLabel';
10084
10346
  };
10085
10347
  /**
10086
- * To destroy the layers.
10087
10348
  *
10088
- * @param {Maps} maps - Specifies the instance of the maps.
10089
10349
  * @returns {void}
10090
10350
  * @private
10091
10351
  */
10092
- DataLabel.prototype.destroy = function (maps) {
10093
- /**
10094
- * Destroy method performed here
10095
- */
10352
+ DataLabel.prototype.destroy = function () {
10353
+ this.dataLabelCollections = [];
10354
+ this.value = null;
10355
+ this.maps = null;
10096
10356
  };
10097
10357
  return DataLabel;
10098
10358
  }());
@@ -10162,8 +10422,8 @@ var NavigationLine = /** @__PURE__ @class */ (function () {
10162
10422
  for (var j = 0; j < point['length'] - 1; j++) {
10163
10423
  angle = (-1 > angle) ? -1 : angle;
10164
10424
  angle = (1 < angle) ? 1 : angle;
10165
- var arcId_1 = this.maps.element.id + '_LayerIndex_' + layerIndex + '_NavigationIndex_' + i + '_Line' + j + '';
10166
- var radius_1 = this.convertRadius(point[j], point[j + 1]);
10425
+ var arcId = this.maps.element.id + '_LayerIndex_' + layerIndex + '_NavigationIndex_' + i + '_Line' + j + '';
10426
+ var radius = this.convertRadius(point[j], point[j + 1]);
10167
10427
  if (angle <= 1 && angle > 0) {
10168
10428
  direction = 0;
10169
10429
  if (point[j]['x'] > point[j + 1]['x']) {
@@ -10208,10 +10468,10 @@ var NavigationLine = /** @__PURE__ @class */ (function () {
10208
10468
  angle = Math.abs(angle);
10209
10469
  d = (angle === 0) ? 'M ' + point[j]['x'] + ',' + point[j]['y'] + 'L ' + point[j + 1]['x']
10210
10470
  + ',' + point[j + 1]['y'] + ' ' :
10211
- 'M ' + point[j]['x'] + ',' + point[j]['y'] + ' A ' + (radius_1 / 2 + (1 - angle) * radius_1 / (angle * 10)) +
10212
- ' ' + (radius_1 / 2 + (1 - angle) * radius_1 / (angle * 10)) + ' ' + 0 + ',' + 0 + ','
10471
+ 'M ' + point[j]['x'] + ',' + point[j]['y'] + ' A ' + (radius / 2 + (1 - angle) * radius / (angle * 10)) +
10472
+ ' ' + (radius / 2 + (1 - angle) * radius / (angle * 10)) + ' ' + 0 + ',' + 0 + ','
10213
10473
  + direction + ' , ' + point[j + 1]['x'] + ',' + point[j + 1]['y'] + ' ';
10214
- pathOption = new PathOption(arcId_1, 'none', width, color, 1, 1, dashArray, d);
10474
+ pathOption = new PathOption(arcId, 'none', width, color, 1, 1, dashArray, d);
10215
10475
  navigationEle = this.maps.renderer.drawPath(pathOption);
10216
10476
  if (!isNullOrUndefined(arrowPosition)) {
10217
10477
  var position = (arrowPosition === 'Start') ? navigationEle.setAttribute('marker-start', startArrow)
@@ -10244,14 +10504,11 @@ var NavigationLine = /** @__PURE__ @class */ (function () {
10244
10504
  /**
10245
10505
  * To destroy the layers.
10246
10506
  *
10247
- * @param {Maps} maps - Specifies the instance of the map
10248
10507
  * @returns {void}
10249
10508
  * @private
10250
10509
  */
10251
- NavigationLine.prototype.destroy = function (maps) {
10252
- /**
10253
- * Destroy method performed here
10254
- */
10510
+ NavigationLine.prototype.destroy = function () {
10511
+ this.maps = null;
10255
10512
  };
10256
10513
  return NavigationLine;
10257
10514
  }());
@@ -10265,6 +10522,10 @@ var Legend = /** @__PURE__ @class */ (function () {
10265
10522
  * @private
10266
10523
  */
10267
10524
  this.legendBorderRect = new Rect(0, 0, 0, 0);
10525
+ /**
10526
+ * @private
10527
+ */
10528
+ this.initialMapAreaRect = new Rect(0, 0, 0, 0);
10268
10529
  /**
10269
10530
  * @private
10270
10531
  */
@@ -10323,6 +10584,7 @@ var Legend = /** @__PURE__ @class */ (function () {
10323
10584
  this.heightIncrement = 0;
10324
10585
  this.defsElement = this.maps.renderer.createDefs();
10325
10586
  this.maps.svgObject.appendChild(this.defsElement);
10587
+ this.initialMapAreaRect = this.maps.mapAreaRect;
10326
10588
  this.calculateLegendBounds();
10327
10589
  this.drawLegend();
10328
10590
  };
@@ -10362,9 +10624,9 @@ var Legend = /** @__PURE__ @class */ (function () {
10362
10624
  }
10363
10625
  }
10364
10626
  }
10365
- else {
10366
- _this.getMarkersLegendCollections(layerIndex, layer.markerSettings);
10367
- }
10627
+ }
10628
+ if (legend.type === 'Markers') {
10629
+ _this.getMarkersLegendCollections(layerIndex, layer.markerSettings);
10368
10630
  }
10369
10631
  });
10370
10632
  if (this.legendCollection.length > 0) {
@@ -10555,8 +10817,9 @@ var Legend = /** @__PURE__ @class */ (function () {
10555
10817
  }
10556
10818
  }
10557
10819
  else {
10820
+ var padding = 10;
10558
10821
  shapeX = shapeLocation[j - 1].x;
10559
- shapeY = prevPositionY + topPadding + (shapeHeight / 2);
10822
+ shapeY = prevPositionY + padding + (shapeHeight / 2);
10560
10823
  }
10561
10824
  }
10562
10825
  }
@@ -10659,7 +10922,14 @@ var Legend = /** @__PURE__ @class */ (function () {
10659
10922
  var legend = map.legendSettings;
10660
10923
  var render = map.renderer;
10661
10924
  var textOptions;
10662
- var textFont = legend.textStyle;
10925
+ var textFont = {
10926
+ size: legend.textStyle.size,
10927
+ color: legend.textStyle.color,
10928
+ fontFamily: legend.textStyle.fontFamily,
10929
+ fontWeight: legend.textStyle.fontWeight,
10930
+ fontStyle: legend.textStyle.fontStyle,
10931
+ opacity: legend.textStyle.opacity
10932
+ };
10663
10933
  this.legendGroup = render.createGroup({ id: map.element.id + '_Legend_Group' });
10664
10934
  if (legend.mode === 'Interactive') {
10665
10935
  for (var i = 0; i < this.legendRenderingCollections.length; i++) {
@@ -10675,7 +10945,7 @@ var Legend = /** @__PURE__ @class */ (function () {
10675
10945
  textFont.color = (textFont.color !== null) ? textFont.color : this.maps.themeStyle.legendTextColor;
10676
10946
  var rectOptions = new RectOption(itemId, item['fill'], item['shapeBorder'], legend.opacity, bounds);
10677
10947
  textOptions = new TextOption(textId, textLocation.x, textLocation.y, 'middle', item['text'], '', '');
10678
- textFont.fontFamily = map.themeStyle.fontFamily || textFont.fontFamily;
10948
+ textFont.fontFamily = !isNullOrUndefined(textFont.fontFamily) ? textFont.fontFamily : this.maps.themeStyle.fontFamily;
10679
10949
  textFont.size = map.themeStyle.legendFontSize || textFont.size;
10680
10950
  renderTextElement(textOptions, textFont, textFont.color, this.legendGroup);
10681
10951
  this.legendGroup.appendChild(render.drawRectangle(rectOptions));
@@ -10730,7 +11000,7 @@ var Legend = /** @__PURE__ @class */ (function () {
10730
11000
  };
10731
11001
  legendTextStyle.color = (legendTextStyle.color !== null) ? legendTextStyle.color :
10732
11002
  this.maps.themeStyle.legendTextColor;
10733
- legendTextStyle.fontFamily = map.themeStyle.fontFamily || legendTextStyle.fontFamily;
11003
+ legendTextStyle.fontFamily = !isNullOrUndefined(legendTextStyle.fontFamily) ? legendTextStyle.fontFamily : this.maps.themeStyle.fontFamily;
10734
11004
  legendTextStyle.size = map.themeStyle.legendFontSize || legendTextStyle.size;
10735
11005
  if (i === 0) {
10736
11006
  this.renderLegendBorder();
@@ -10806,7 +11076,9 @@ var Legend = /** @__PURE__ @class */ (function () {
10806
11076
  'opacity': 1,
10807
11077
  'dominant-baseline': ''
10808
11078
  };
10809
- pagingGroup.appendChild(render.createText(pageTextOptions, pagingText));
11079
+ var pagingTextElement = render.createText(pageTextOptions, pagingText);
11080
+ pagingTextElement.setAttribute('style', 'user-select: none;');
11081
+ pagingGroup.appendChild(pagingTextElement);
10810
11082
  this.legendGroup.appendChild(pagingGroup);
10811
11083
  }
10812
11084
  this.legendToggle();
@@ -10818,6 +11090,7 @@ var Legend = /** @__PURE__ @class */ (function () {
10818
11090
  var shapeIndex;
10819
11091
  var layerIndex;
10820
11092
  var dataIndex;
11093
+ var pointIndex;
10821
11094
  var legend = this.maps.legendSettings;
10822
11095
  var textEle = legend.mode === 'Default' ? document.getElementById(targetElement.id.replace('Shape', 'Text')) :
10823
11096
  document.getElementById(targetElement.id + '_Text');
@@ -10905,12 +11178,20 @@ var Legend = /** @__PURE__ @class */ (function () {
10905
11178
  }
10906
11179
  if (enable) {
10907
11180
  for (var j = 0; j < data.length; j++) {
11181
+ var shapeElement = void 0;
10908
11182
  shapeIndex = data[j]['shapeIndex'];
10909
11183
  layerIndex = data[j]['layerIndex'];
10910
11184
  dataIndex = data[j]['dataIndex'];
10911
- var shapeEle = document.getElementById(this.maps.element.id + '_LayerIndex_' +
10912
- layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex);
10913
- if (shapeEle !== null) {
11185
+ pointIndex = data[j]['pointIndex'];
11186
+ if (pointIndex === -1) {
11187
+ shapeElement = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11188
+ layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex);
11189
+ }
11190
+ else {
11191
+ shapeElement = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11192
+ layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex + '_multiLine_' + pointIndex);
11193
+ }
11194
+ if (shapeElement !== null) {
10914
11195
  var shapeMatch = true;
10915
11196
  if (this.maps.legendSelectionCollection !== null) {
10916
11197
  for (var i_1 = 0; i_1 < this.maps.legendSelectionCollection.length; i_1++) {
@@ -10927,13 +11208,13 @@ var Legend = /** @__PURE__ @class */ (function () {
10927
11208
  }
10928
11209
  length = this.legendHighlightCollection.length;
10929
11210
  var legendHighlightColor = this.legendHighlightCollection[length - 1]['legendOldFill'];
10930
- this.legendHighlightCollection[length - 1]['MapShapeCollection']['Elements'].push(shapeEle);
11211
+ this.legendHighlightCollection[length - 1]['MapShapeCollection']['Elements'].push(shapeElement);
10931
11212
  var shapeItemCount = this.legendHighlightCollection[length - 1]['MapShapeCollection']['Elements'].length - 1;
10932
- var shapeOldFillColor = shapeEle.getAttribute('fill');
11213
+ var shapeOldFillColor = shapeElement.getAttribute('fill');
10933
11214
  this.legendHighlightCollection[length - 1]['shapeOldFillColor'].push(shapeOldFillColor);
10934
11215
  var shapeOldColor = this.legendHighlightCollection[length - 1]['shapeOldFillColor'][shapeItemCount];
10935
11216
  this.shapePreviousColor = this.legendHighlightCollection[length - 1]['shapeOldFillColor'];
10936
- this.setColor(shapeEle, !isNullOrUndefined(module.fill) ? module.fill : shapeOldColor, module.opacity.toString(), module.border.color, module.border.width.toString(), 'highlight');
11217
+ this.setColor(shapeElement, !isNullOrUndefined(module.fill) ? module.fill : shapeOldColor, module.opacity.toString(), module.border.color, module.border.width.toString(), 'highlight');
10937
11218
  this.setColor(targetElement, !isNullOrUndefined(module.fill) ? module.fill : legendHighlightColor, module.opacity.toString(), module.border.color, module.border.width.toString(), 'highlight');
10938
11219
  }
10939
11220
  else if (value === 'selection') {
@@ -10956,12 +11237,12 @@ var Legend = /** @__PURE__ @class */ (function () {
10956
11237
  }
10957
11238
  selectLength = this.maps.legendSelectionCollection.length;
10958
11239
  var legendSelectionColor = this.maps.legendSelectionCollection[selectLength - 1]['legendOldFill'];
10959
- this.maps.legendSelectionCollection[selectLength - 1]['MapShapeCollection']['Elements'].push(shapeEle);
11240
+ this.maps.legendSelectionCollection[selectLength - 1]['MapShapeCollection']['Elements'].push(shapeElement);
10960
11241
  this.maps.legendSelectionCollection[selectLength - 1]['shapeOldFillColor'] = this.shapePreviousColor;
10961
11242
  this.setColor(targetElement, !isNullOrUndefined(module.fill) ? module.fill : legendSelectionColor, module.opacity.toString(), module.border.color, module.border.width.toString(), 'selection');
10962
- this.setColor(shapeEle, !isNullOrUndefined(module.fill) ? module.fill : legendSelectionColor, module.opacity.toString(), module.border.color, module.border.width.toString(), 'selection');
10963
- if (this.maps.selectedElementId.indexOf(shapeEle.getAttribute('id')) === -1) {
10964
- this.maps.selectedElementId.push(shapeEle.getAttribute('id'));
11243
+ this.setColor(shapeElement, !isNullOrUndefined(module.fill) ? module.fill : legendSelectionColor, module.opacity.toString(), module.border.color, module.border.width.toString(), 'selection');
11244
+ if (this.maps.selectedElementId.indexOf(shapeElement.getAttribute('id')) === -1) {
11245
+ this.maps.selectedElementId.push(shapeElement.getAttribute('id'));
10965
11246
  }
10966
11247
  if (j === data.length - 1) {
10967
11248
  this.maps.legendSelection = false;
@@ -10976,14 +11257,15 @@ var Legend = /** @__PURE__ @class */ (function () {
10976
11257
  }
10977
11258
  };
10978
11259
  Legend.prototype.setColor = function (element, fill, opacity, borderColor, borderWidth, type) {
11260
+ var isLineStringShape = (element.parentElement.id.indexOf('LineString') > -1);
10979
11261
  if (type === 'selection') {
10980
- maintainStyleClass('ShapeselectionMap', 'ShapeselectionMapStyle', fill, opacity, borderColor, borderWidth, this.maps);
10981
- element.setAttribute('class', 'ShapeselectionMapStyle');
11262
+ maintainStyleClass((isLineStringShape ? 'LineselectionMap' : 'ShapeselectionMap'), (isLineStringShape ? 'LineselectionMapStyle' : 'ShapeselectionMapStyle'), (isLineStringShape ? 'transparent' : fill), opacity, (isLineStringShape ? fill : borderColor), borderWidth, this.maps);
11263
+ element.setAttribute('class', isLineStringShape ? 'LineselectionMapStyle' : 'ShapeselectionMapStyle');
10982
11264
  }
10983
11265
  else {
10984
- element.setAttribute('fill', fill);
11266
+ element.setAttribute('fill', isLineStringShape ? 'transparent' : fill);
10985
11267
  element.setAttribute('fill-opacity', opacity);
10986
- element.setAttribute('stroke', borderColor);
11268
+ element.setAttribute('stroke', isLineStringShape ? fill : borderColor);
10987
11269
  element.setAttribute('stroke-width', (Number(borderWidth) / this.maps.scale).toString());
10988
11270
  }
10989
11271
  };
@@ -11026,7 +11308,8 @@ var Legend = /** @__PURE__ @class */ (function () {
11026
11308
  var dataCount = shapeElements.length;
11027
11309
  for (var j = 0; j < dataCount; j++) {
11028
11310
  var shapeElement = getElement(shapeElements[j]);
11029
- if (shapeElement.getAttribute('class') === 'ShapeselectionMapStyle') {
11311
+ if (shapeElement.getAttribute('class') === 'ShapeselectionMapStyle' ||
11312
+ shapeElement.getAttribute('class') === 'LineselectionMapStyle') {
11030
11313
  removeClass(shapeElement);
11031
11314
  var selectedElementIdIndex = this.maps.selectedElementId.indexOf(shapeElement.id);
11032
11315
  if (selectedElementIdIndex !== -1) {
@@ -11104,12 +11387,14 @@ var Legend = /** @__PURE__ @class */ (function () {
11104
11387
  this.maps.legendSelectionClass = module;
11105
11388
  }
11106
11389
  else {
11107
- if ((checkSelection <= 1) && targetElement.getAttribute('class') === 'ShapeselectionMapStyle') {
11390
+ if ((checkSelection <= 1) && (targetElement.getAttribute('class') === 'ShapeselectionMapStyle'
11391
+ || targetElement.getAttribute('class') === 'LineselectionMapStyle')) {
11108
11392
  if (!this.maps.layers[layerIndex].selectionSettings.enableMultiSelect) {
11109
11393
  this.maps.selectedLegendElementId.splice(selectionIndex, 1);
11110
11394
  }
11111
11395
  else {
11112
- if (checkSelection <= 1 && targetElement.getAttribute('class') === 'ShapeselectionMapStyle') {
11396
+ if (checkSelection <= 1 && (targetElement.getAttribute('class') === 'ShapeselectionMapStyle'
11397
+ || targetElement.getAttribute('class') === 'LineselectionMapStyle')) {
11113
11398
  this.maps.selectedLegendElementId.splice(selectionIndex, 1);
11114
11399
  }
11115
11400
  }
@@ -11196,7 +11481,8 @@ var Legend = /** @__PURE__ @class */ (function () {
11196
11481
  }
11197
11482
  }
11198
11483
  }
11199
- if (selectionEle && (selectionEle['IsSelected'] && targetElement.getAttribute('class') === 'ShapeselectionMapStyle')) {
11484
+ if (selectionEle && (selectionEle['IsSelected'] && (targetElement.getAttribute('class') === 'ShapeselectionMapStyle'
11485
+ || targetElement.getAttribute('class') === 'LineselectionMapStyle'))) {
11200
11486
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11201
11487
  var element = this.maps.legendSelectionCollection[selectionEle['SelectionIndex']];
11202
11488
  var multiSelection = 0;
@@ -11287,7 +11573,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11287
11573
  }
11288
11574
  for (var j = 0; j < this.maps.selectedLegendElementId.length; j++) {
11289
11575
  var idIndex = this.maps.legendSettings.mode === 'Interactive' ?
11290
- 'container_Legend_Index_' : 'container_Legend_Shape_Index_';
11576
+ this.maps.element.id + '_Legend_Index_' : this.maps.element.id + '_Legend_Shape_Index_';
11291
11577
  var selectedElement = idIndex + this.maps.selectedLegendElementId[j];
11292
11578
  var legendElement = document.getElementById(selectedElement);
11293
11579
  if (!isNullOrUndefined(legendElement)) {
@@ -11339,6 +11625,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11339
11625
  var shapeIndex;
11340
11626
  var layerIndex;
11341
11627
  var dataIndex;
11628
+ var pointIndex;
11342
11629
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11343
11630
  var collection = this.maps.legendModule.legendCollection;
11344
11631
  var legend = this.maps.legendSettings;
@@ -11351,15 +11638,23 @@ var Legend = /** @__PURE__ @class */ (function () {
11351
11638
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11352
11639
  var currentElement = { Elements: [] };
11353
11640
  for (var j = 0; j < data.length; j++) {
11641
+ var shapeElement = void 0;
11354
11642
  shapeIndex = data[j]['shapeIndex'];
11355
11643
  layerIndex = data[j]['layerIndex'];
11356
11644
  dataIndex = data[j]['dataIndex'];
11357
- var shapeEle = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11358
- layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex);
11359
- if (targetElement === shapeEle) {
11645
+ pointIndex = data[j]['pointIndex'];
11646
+ if (pointIndex === -1) {
11647
+ shapeElement = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11648
+ layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex);
11649
+ }
11650
+ else {
11651
+ shapeElement = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11652
+ layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex + '_multiLine_' + pointIndex);
11653
+ }
11654
+ if (targetElement === shapeElement) {
11360
11655
  process = true;
11361
11656
  }
11362
- elements.push(shapeEle);
11657
+ elements.push(shapeElement);
11363
11658
  }
11364
11659
  if (process) {
11365
11660
  if (isNullOrUndefined(currentElement['LegendEle'])) {
@@ -11377,16 +11672,25 @@ var Legend = /** @__PURE__ @class */ (function () {
11377
11672
  var shapeIndex;
11378
11673
  var layerIndex;
11379
11674
  var dataIndex;
11675
+ var pointIndex;
11380
11676
  var idIndex = parseFloat(targetElement.id.charAt(targetElement.id.length - 1));
11381
11677
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11382
11678
  var data = this.maps.legendModule.legendCollection[idIndex]['data'];
11383
11679
  var legendShapeElements = [];
11384
11680
  for (var i = 0; i < data.length; i++) {
11681
+ var shapeElement = void 0;
11385
11682
  shapeIndex = data[i]['shapeIndex'];
11386
11683
  layerIndex = data[i]['layerIndex'];
11387
11684
  dataIndex = data[i]['dataIndex'];
11388
- var shapeElement = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11389
- layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex);
11685
+ pointIndex = data[i]['pointIndex'];
11686
+ if (pointIndex === -1) {
11687
+ shapeElement = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11688
+ layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex);
11689
+ }
11690
+ else {
11691
+ shapeElement = document.getElementById(this.maps.element.id + '_LayerIndex_' +
11692
+ layerIndex + '_shapeIndex_' + shapeIndex + '_dataIndex_' + dataIndex + '_multiLine_' + pointIndex);
11693
+ }
11390
11694
  if (!isNullOrUndefined(shapeElement)) {
11391
11695
  legendShapeElements.push(shapeElement.id);
11392
11696
  }
@@ -11454,9 +11758,11 @@ var Legend = /** @__PURE__ @class */ (function () {
11454
11758
  var renderOptions = new RectOption(map.element.id + '_Legend_Border', legend.background, legendBorder, 1, this.legendBorderRect, null, null, '', '');
11455
11759
  this.legendGroup.appendChild(map.renderer.drawRectangle(renderOptions));
11456
11760
  this.getLegendAlignment(map, this.legendBorderRect.width, this.legendBorderRect.height, legend);
11457
- this.legendGroup.setAttribute('transform', 'translate( ' + (this.translate.x + (-(this.legendBorderRect.x))) + ' ' +
11761
+ this.legendGroup.setAttribute('transform', 'translate( ' + (this.translate.x + (-this.legendBorderRect.x)) + ' ' +
11458
11762
  (this.translate.y + (-(this.legendBorderRect.y))) + ' )');
11459
- map.svgObject.appendChild(this.legendGroup);
11763
+ if (legend.position !== 'Float') {
11764
+ map.svgObject.appendChild(this.legendGroup);
11765
+ }
11460
11766
  if (legendTitle) {
11461
11767
  textStyle.color = (textStyle.color !== null) ? textStyle.color : this.maps.themeStyle.legendTitleFontColor;
11462
11768
  textStyle.fontFamily = !isNullOrUndefined(textStyle.fontFamily) ? textStyle.fontFamily : this.maps.themeStyle.fontFamily;
@@ -11468,7 +11774,16 @@ var Legend = /** @__PURE__ @class */ (function () {
11468
11774
  this.currentPage = (e.target.id.indexOf('_Left_Page_') > -1) ? (this.currentPage - 1) :
11469
11775
  (this.currentPage + 1);
11470
11776
  this.legendGroup = this.maps.renderer.createGroup({ id: this.maps.element.id + '_Legend_Group' });
11777
+ this.maps.mapAreaRect = this.initialMapAreaRect;
11471
11778
  this.drawLegendItem(this.currentPage);
11779
+ if (!isNullOrUndefined(this.maps.legendModule) && this.maps.legendSettings.position === 'Float') {
11780
+ if (this.maps.isTileMap) {
11781
+ this.maps.mapLayerPanel.layerGroup.appendChild(this.maps.legendModule.legendGroup);
11782
+ }
11783
+ else {
11784
+ this.maps.svgObject.appendChild(this.maps.legendModule.legendGroup);
11785
+ }
11786
+ }
11472
11787
  if (querySelector(this.maps.element.id + '_Legend_Border', this.maps.element.id)) {
11473
11788
  querySelector(this.maps.element.id + '_Legend_Border', this.maps.element.id).style.pointerEvents = 'none';
11474
11789
  }
@@ -11486,53 +11801,60 @@ var Legend = /** @__PURE__ @class */ (function () {
11486
11801
  var areaWidth = totalRect.width;
11487
11802
  var totalWidth = map.availableSize.width;
11488
11803
  var totalHeight = map.availableSize.height;
11804
+ var locationX = !isNullOrUndefined(legend.location.x) ? legend.location.x : 0;
11805
+ var locationY = !isNullOrUndefined(legend.location.y) ? legend.location.y : 0;
11489
11806
  if (legend.position === 'Float') {
11490
- this.translate = legend.location;
11807
+ this.translate = map.isTileMap ? new Point(locationX, locationY + (spacing / 4)) : new Point(locationX + map.mapAreaRect.x, locationY + map.mapAreaRect.y);
11808
+ this.legendTotalRect = map.mapAreaRect;
11491
11809
  }
11492
11810
  else {
11493
11811
  switch (legend.position) {
11494
11812
  case 'Top':
11495
11813
  case 'Bottom':
11496
- totalRect.height = (areaHeight - height);
11814
+ totalRect.height = (legend.position === 'Top') ? (areaHeight - height) : (areaHeight - height - (spacing * 2));
11497
11815
  x = (totalWidth / 2) - (width / 2);
11498
11816
  y = (legend.position === 'Top') ? areaY : (areaY + totalRect.height);
11499
- totalRect.y = (legend.position === 'Top') ? areaY + height + spacing : areaY;
11817
+ totalRect.y = (legend.position === 'Top') ? areaY + height + (map.isTileMap ? (spacing / 2) : spacing) : areaY - (spacing / 2);
11500
11818
  break;
11501
11819
  case 'Left':
11502
11820
  case 'Right':
11503
- totalRect.width = (areaWidth - width);
11504
- x = (legend.position === 'Left') ? areaX : (areaX + totalRect.width) - spacing;
11821
+ totalRect.width = (areaWidth - width - map.mapAreaRect.x);
11822
+ x = (legend.position === 'Left') ? areaX + (spacing / 2) : (areaX + totalRect.width + spacing);
11505
11823
  y = (totalHeight / 2) - (height / 2);
11506
- totalRect.x = (legend.position === 'Left') ? areaX + width : areaX;
11824
+ totalRect.x = (legend.position === 'Left') ? areaX + width + spacing : areaX;
11507
11825
  break;
11508
11826
  }
11509
11827
  switch (legend.alignment) {
11510
11828
  case 'Near':
11511
11829
  if (legend.position === 'Top' || legend.position === 'Bottom') {
11512
- x = totalRect.x;
11830
+ x = totalRect.x - (legend.mode === 'Interactive' ? spacing : 0);
11513
11831
  }
11514
11832
  else {
11515
- y = totalRect.y;
11833
+ y = totalRect.y - (!(legend.height && legend.width) && legend.mode === 'Interactive' ? map.mapAreaRect.x : 0);
11516
11834
  }
11517
11835
  break;
11518
11836
  case 'Far':
11519
11837
  if (legend.position === 'Top' || legend.position === 'Bottom') {
11520
- x = (totalWidth - width) - spacing;
11838
+ x = (totalWidth - width) - (legend.mode === 'Interactive' ? 0 : spacing);
11521
11839
  }
11522
11840
  else {
11523
- y = totalHeight - height;
11841
+ y = totalHeight - height - (legend.mode === 'Default' ? spacing : 0);
11524
11842
  }
11525
11843
  break;
11526
11844
  }
11527
11845
  if ((legend.height || legend.width) && legend.mode !== 'Interactive') {
11528
- this.legendTotalRect = map.totalRect = totalRect;
11846
+ this.legendTotalRect = map.mapAreaRect = map.totalRect = totalRect;
11529
11847
  }
11530
11848
  else {
11849
+ map.totalRect = null;
11531
11850
  if ((legend.height || legend.width) && legend.mode === 'Interactive') {
11532
11851
  map.totalRect = totalRect;
11533
11852
  }
11534
11853
  this.legendTotalRect = map.mapAreaRect = totalRect;
11535
11854
  }
11855
+ if (legend.position === 'Left') {
11856
+ map.mapAreaRect.width = totalRect.width;
11857
+ }
11536
11858
  this.translate = new Point(x, y);
11537
11859
  }
11538
11860
  };
@@ -11550,7 +11872,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11550
11872
  data[_this.maps.legendSettings.showLegendPath];
11551
11873
  if (marker$$1.visible && showLegend && (!isNullOrUndefined(data['latitude'])) && (!isNullOrUndefined(data['longitude']))) {
11552
11874
  if (marker$$1.template) {
11553
- templateFn = getTemplateFunction(marker$$1.template);
11875
+ templateFn = getTemplateFunction(marker$$1.template, _this.maps);
11554
11876
  var templateElement = templateFn(_this.maps);
11555
11877
  var markerEle = isNullOrUndefined(templateElement.childElementCount) ? templateElement[0] :
11556
11878
  templateElement;
@@ -11661,6 +11983,13 @@ var Legend = /** @__PURE__ @class */ (function () {
11661
11983
  borderColor: legend.shapeBorder.color, borderWidth: legend.shapeBorder.width
11662
11984
  });
11663
11985
  }
11986
+ else {
11987
+ for (var i = 0; i < this.legendCollection.length; i++) {
11988
+ if (this.legendCollection[i]['text'] === legendText && this.legendCollection[i]['fill'] === legendFill) {
11989
+ this.legendCollection[i].data.push(newColllection[0]);
11990
+ }
11991
+ }
11992
+ }
11664
11993
  }
11665
11994
  };
11666
11995
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -11862,15 +12191,16 @@ var Legend = /** @__PURE__ @class */ (function () {
11862
12191
  var width = 10;
11863
12192
  var direction = (legend.orientation === 'None') ? (legend.position === 'Top' || legend.position === 'Bottom')
11864
12193
  ? 'Horizontal' : 'Vertical' : legend.orientation;
12194
+ rect.y = legend.position === 'Float' && this.maps.isTileMap ? rect.y - this.maps.mapAreaRect.y : rect.y;
11865
12195
  if (direction === 'Horizontal') {
11866
12196
  if (!legend.invertedPointer) {
11867
- locX = rect.x + (rect.width / 2);
12197
+ locX = rect.x + (rect.width / 2) - (legend.position === 'Float' && this.maps.isTileMap ? this.maps.mapAreaRect.x : 0);
11868
12198
  locY = rect.y;
11869
12199
  path = ' M ' + locX + ' ' + locY + ' L ' + (locX - width) + ' ' + (locY - height) +
11870
12200
  ' L ' + (locX + width) + ' ' + (locY - height) + ' Z ';
11871
12201
  }
11872
12202
  else {
11873
- locX = rect.x + (rect.width / 2);
12203
+ locX = rect.x + (rect.width / 2) - (legend.position === 'Float' && this.maps.isTileMap ? this.maps.mapAreaRect.x : 0);
11874
12204
  locY = rect.y + (rect.height);
11875
12205
  path = ' M ' + locX + ' ' + locY + ' L ' + (locX - width) + ' ' + (locY + height) +
11876
12206
  ' L ' + (locX + width) + ' ' + (locY + height) + ' Z ';
@@ -11878,20 +12208,25 @@ var Legend = /** @__PURE__ @class */ (function () {
11878
12208
  }
11879
12209
  else {
11880
12210
  if (!legend.invertedPointer) {
11881
- locX = rect.x + (rect.width);
12211
+ locX = rect.x + rect.width - (legend.position === 'Float' && this.maps.isTileMap ? this.maps.mapAreaRect.x : 0);
11882
12212
  locY = rect.y + (rect.height / 2);
11883
12213
  path = ' M ' + locX + ' ' + locY + ' L ' + (locX + width) + ' ' + (locY - height) +
11884
12214
  ' L ' + (locX + width) + ' ' + (locY + height) + ' z ';
11885
12215
  }
11886
12216
  else {
11887
- locX = rect.x;
12217
+ locX = rect.x - (legend.position === 'Float' && this.maps.isTileMap ? this.maps.mapAreaRect.x : 0);
11888
12218
  locY = rect.y + (rect.height / 2);
11889
12219
  path = ' M ' + locX + ' ' + locY + ' L ' + (locX - width) + ' ' + (locY - height) +
11890
12220
  ' L ' + (locX - width) + ' ' + (locY + height) + ' z ';
11891
12221
  }
11892
12222
  }
11893
12223
  var pathOptions = new PathOption(id, fill, strokeWidth, stroke, 1, 1, '', path);
11894
- this.maps.svgObject.appendChild(this.maps.renderer.drawPath(pathOptions));
12224
+ if (legend.position === 'Float' && this.maps.isTileMap) {
12225
+ this.maps.mapLayerPanel.layerGroup.appendChild(this.maps.renderer.drawPath(pathOptions));
12226
+ }
12227
+ else {
12228
+ this.maps.svgObject.appendChild(this.maps.renderer.drawPath(pathOptions));
12229
+ }
11895
12230
  };
11896
12231
  Legend.prototype.wireEvents = function (element) {
11897
12232
  EventHandler.add(element, Browser.touchStartEvent, this.changeNextPage, this);
@@ -11948,6 +12283,9 @@ var Legend = /** @__PURE__ @class */ (function () {
11948
12283
  '_BubbleIndex_' + j + '_dataIndex_' + shape['dataIndex'], this.maps.element.id) : querySelector(this.maps.element.id + '_LayerIndex_' + shape['layerIndex'] +
11949
12284
  '_MarkerIndex_' + shape['markerIndex'] + '_dataIndex_' + shape['dataIndex'], this.maps.element.id);
11950
12285
  if (!isNullOrUndefined(shape['shape']) && shape['shape'] === 'Balloon') {
12286
+ mapElement = this.maps.legendSettings.type === 'Bubbles' ? querySelector(this.maps.element.id + '_LayerIndex_' + shape['layerIndex'] +
12287
+ '_BubbleIndex_' + j + '_dataIndex_' + shape['dataIndex'] + '_Group', this.maps.element.id) : querySelector(this.maps.element.id + '_LayerIndex_' + shape['layerIndex'] +
12288
+ '_MarkerIndex_' + shape['markerIndex'] + '_dataIndex_' + shape['dataIndex'] + '_Group', this.maps.element.id);
11951
12289
  mapElement = mapElement.children[0];
11952
12290
  }
11953
12291
  if (isVisible && mapElement !== null) {
@@ -12089,6 +12427,9 @@ var Legend = /** @__PURE__ @class */ (function () {
12089
12427
  '_BubbleIndex_' + j + '_dataIndex_' + mapdata['dataIndex'], this.maps.element.id) : querySelector(this.maps.element.id + '_LayerIndex_' + mapdata['layerIndex'] +
12090
12428
  '_MarkerIndex_' + j + '_dataIndex_' + mapdata['dataIndex'], this.maps.element.id);
12091
12429
  if (!isNullOrUndefined(mapdata['shape']) && mapdata['shape'] === 'Balloon') {
12430
+ LegendInteractive = this.maps.legendSettings.type === 'Bubbles' ? querySelector(this.maps.element.id + '_LayerIndex_' + mapdata['layerIndex'] +
12431
+ '_BubbleIndex_' + j + '_dataIndex_' + mapdata['dataIndex'] + '_Group', this.maps.element.id) : querySelector(this.maps.element.id + '_LayerIndex_' + mapdata['layerIndex'] +
12432
+ '_MarkerIndex_' + j + '_dataIndex_' + mapdata['dataIndex'] + '_Group', this.maps.element.id);
12092
12433
  LegendInteractive = LegendInteractive.children[0];
12093
12434
  }
12094
12435
  if (isVisible && LegendInteractive !== null) {
@@ -12252,10 +12593,20 @@ var Legend = /** @__PURE__ @class */ (function () {
12252
12593
  var shapeDataValueCase = !isNullOrUndefined(shapeData['properties'][shapePath])
12253
12594
  && isNaN(shapeData['properties'][shapePath]) ? shapeData['properties'][shapePath].toLowerCase() : shapeData['properties'][shapePath];
12254
12595
  if (shapeDataValueCase === dataPathValueCase) {
12255
- legendData.push({
12256
- layerIndex: layerIndex, shapeIndex: i, dataIndex: dataIndex,
12257
- name: data[dataPath], value: value
12258
- });
12596
+ if (shapeData['geometry']['type'] != 'MultiPoint') {
12597
+ legendData.push({
12598
+ layerIndex: layerIndex, shapeIndex: i, dataIndex: dataIndex,
12599
+ name: data[dataPath], value: value, pointIndex: -1
12600
+ });
12601
+ }
12602
+ else {
12603
+ for (var j = 0; j < shapeData['geometry'].coordinates.length; j++) {
12604
+ legendData.push({
12605
+ layerIndex: layerIndex, shapeIndex: i, dataIndex: dataIndex,
12606
+ name: data[dataPath], value: value, pointIndex: j
12607
+ });
12608
+ }
12609
+ }
12259
12610
  }
12260
12611
  }
12261
12612
  }
@@ -12301,15 +12652,30 @@ var Legend = /** @__PURE__ @class */ (function () {
12301
12652
  /**
12302
12653
  * To destroy the legend.
12303
12654
  *
12304
- * @param {Maps} maps - Specifies the instance of the maps
12305
12655
  * @returns {void}
12306
12656
  * @private
12307
12657
  */
12308
- Legend.prototype.destroy = function (maps) {
12309
- /**
12310
- * Destroy method performed here
12311
- */
12658
+ Legend.prototype.destroy = function () {
12659
+ this.legendCollection = [];
12660
+ this.legendRenderingCollections = [];
12661
+ this.translate = null;
12662
+ this.legendBorderRect = null;
12663
+ this.initialMapAreaRect = null;
12664
+ this.legendTotalRect = null;
12665
+ this.totalPages = [];
12666
+ this.legendItemRect = null;
12667
+ this.legendGroup = null;
12668
+ this.shapeHighlightCollection = [];
12669
+ this.legendHighlightCollection = [];
12670
+ this.shapePreviousColor = [];
12671
+ this.selectedNonLegendShapes = [];
12672
+ this.legendLinearGradient = null;
12673
+ this.currentLayer = null;
12674
+ this.defsElement = null;
12675
+ this.legendElement = [];
12676
+ this.oldShapeElement = null;
12312
12677
  this.removeEventListener();
12678
+ this.maps = null;
12313
12679
  };
12314
12680
  return Legend;
12315
12681
  }());
@@ -12367,7 +12733,8 @@ var Highlight = /** @__PURE__ @class */ (function () {
12367
12733
  targetEle.getAttribute('class') !== 'ShapeselectionMapStyle' && !isTouch &&
12368
12734
  targetEle.getAttribute('class') !== 'MarkerselectionMapStyle' &&
12369
12735
  targetEle.getAttribute('class') !== 'BubbleselectionMapStyle' &&
12370
- targetEle.getAttribute('class') !== 'navigationlineselectionMapStyle') {
12736
+ targetEle.getAttribute('class') !== 'navigationlineselectionMapStyle' &&
12737
+ targetEle.getAttribute('class') !== 'LineselectionMapStyle') {
12371
12738
  layerIndex = parseInt(targetEle.id.split('_LayerIndex_')[1].split('_')[0], 10);
12372
12739
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12373
12740
  var shapeData = void 0;
@@ -12377,8 +12744,9 @@ var Highlight = /** @__PURE__ @class */ (function () {
12377
12744
  var dataIndex = void 0;
12378
12745
  if (targetEle.id.indexOf('shapeIndex') > -1) {
12379
12746
  shapeIn = parseInt(targetEle.id.split('_shapeIndex_')[1].split('_')[0], 10);
12380
- shapeData = this.maps.layers[layerIndex].shapeData['features'] ?
12381
- this.maps.layers[layerIndex].shapeData['features'][shapeIn]['properties'] : null;
12747
+ shapeData = this.maps.layers[layerIndex].shapeData['features'] &&
12748
+ !isNullOrUndefined(this.maps.layersCollection[layerIndex].layerData[shapeIn]) ?
12749
+ this.maps.layersCollection[layerIndex].layerData[shapeIn]['property'] : null;
12382
12750
  dataIndex = parseInt(targetEle.id.split('_dataIndex_')[1].split('_')[0], 10);
12383
12751
  data = isNullOrUndefined(dataIndex) ? null : this.maps.layers[layerIndex].dataSource[dataIndex];
12384
12752
  this.highlightSettings = this.maps.layers[layerIndex].highlightSettings;
@@ -12450,7 +12818,8 @@ var Highlight = /** @__PURE__ @class */ (function () {
12450
12818
  */
12451
12819
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12452
12820
  Highlight.prototype.handleHighlight = function (targetElement, layerIndex, data, shapeData) {
12453
- if (this.maps.legendSettings.visible && targetElement.id.indexOf('_MarkerIndex_') === -1 && this.maps.legendModule) {
12821
+ if (this.maps.legendSettings.visible && targetElement.id.indexOf('_MarkerIndex_') === -1 && this.maps.legendModule
12822
+ && this.maps.legendSettings.type === 'Layers') {
12454
12823
  this.maps.legendModule.shapeHighLightAndSelection(targetElement, data, this.highlightSettings, 'highlight', layerIndex);
12455
12824
  }
12456
12825
  var selectHighLight = targetElement.id.indexOf('shapeIndex') > -1 && (this.maps.legendSettings.visible && this.maps.legendModule) ?
@@ -12469,7 +12838,7 @@ var Highlight = /** @__PURE__ @class */ (function () {
12469
12838
  isMarkerSelect = this.maps.layers[layerIndex].markerSettings[marker$$1].highlightSettings.enable;
12470
12839
  }
12471
12840
  var border = {
12472
- color: (targetEle.parentElement.id.indexOf('LineString') === -1) ? this.highlightSettings.border.color : (this.highlightSettings.border.color || this.highlightSettings.fill),
12841
+ color: (targetEle.parentElement.id.indexOf('LineString') === -1) ? this.highlightSettings.border.color : (this.highlightSettings.fill || this.highlightSettings.border.color),
12473
12842
  width: (targetEle.parentElement.id.indexOf('LineString') === -1) ? (this.highlightSettings.border.width / (isMarkerSelect ? 1 : this.maps.scale)) : (this.highlightSettings.border.width / this.maps.scale),
12474
12843
  opacity: this.highlightSettings.border.opacity
12475
12844
  };
@@ -12525,15 +12894,13 @@ var Highlight = /** @__PURE__ @class */ (function () {
12525
12894
  /**
12526
12895
  * To destroy the highlight.
12527
12896
  *
12528
- * @param {Maps} maps - Specifies the maps instance
12529
12897
  * @returns {void}
12530
12898
  * @private
12531
12899
  */
12532
- Highlight.prototype.destroy = function (maps) {
12533
- /**
12534
- * Destroy method performed here
12535
- */
12900
+ Highlight.prototype.destroy = function () {
12901
+ this.highlightSettings = null;
12536
12902
  this.removeEventListener();
12903
+ this.maps = null;
12537
12904
  };
12538
12905
  return Highlight;
12539
12906
  }());
@@ -12554,7 +12921,6 @@ var Selection = /** @__PURE__ @class */ (function () {
12554
12921
  Selection.prototype.addEventListener = function () {
12555
12922
  if (!this.maps.isDestroyed) {
12556
12923
  this.maps.on(click, this.mouseClick, this);
12557
- this.maps.on(Browser.touchEndEvent, this.mouseClick, this);
12558
12924
  }
12559
12925
  };
12560
12926
  /**
@@ -12567,7 +12933,6 @@ var Selection = /** @__PURE__ @class */ (function () {
12567
12933
  return;
12568
12934
  }
12569
12935
  this.maps.off(click, this.mouseClick);
12570
- this.maps.off(Browser.touchEndEvent, this.mouseClick);
12571
12936
  };
12572
12937
  Selection.prototype.mouseClick = function (targetElement) {
12573
12938
  if (!isNullOrUndefined(targetElement['type']) && targetElement['type'].indexOf('touch') !== -1 &&
@@ -12585,8 +12950,12 @@ var Selection = /** @__PURE__ @class */ (function () {
12585
12950
  var layerIndex = parseInt(targetElement.id.split('_LayerIndex_')[1].split('_')[0], 10);
12586
12951
  if (targetElement.id.indexOf('shapeIndex') > -1) {
12587
12952
  shapeIndex = parseInt(targetElement.id.split('_shapeIndex_')[1].split('_')[0], 10);
12588
- shapeData = this.maps.layers[layerIndex].shapeData['features']['length'] > shapeIndex ?
12589
- this.maps.layers[layerIndex].shapeData['features'][shapeIndex]['properties'] : null;
12953
+ shapeData = !isNullOrUndefined(this.maps.layers[layerIndex].shapeData['features'])
12954
+ && this.maps.layers[layerIndex].shapeData['features']['length'] > shapeIndex ?
12955
+ this.maps.layers[layerIndex].shapeData['features'][shapeIndex]['properties'] :
12956
+ !isNullOrUndefined(this.maps.layers[layerIndex].shapeData['geometries'])
12957
+ && this.maps.layers[layerIndex].shapeData['geometries']['length'] > shapeIndex ?
12958
+ this.maps.layers[layerIndex].shapeData['geometries'][shapeIndex]['properties'] : null;
12590
12959
  dataIndex = parseInt(targetElement.id.split('_dataIndex_')[1].split('_')[0], 10);
12591
12960
  data = isNullOrUndefined(dataIndex) ? null : this.maps.layers[layerIndex].dataSource[dataIndex];
12592
12961
  this.selectionsettings = this.maps.layers[layerIndex].selectionSettings;
@@ -12667,15 +13036,17 @@ var Selection = /** @__PURE__ @class */ (function () {
12667
13036
  Selection.prototype.selectMap = function (targetElement, shapeData, data) {
12668
13037
  var _this = this;
12669
13038
  var layerIndex = parseInt(targetElement.id.split('_LayerIndex_')[1].split('_')[0], 10);
13039
+ var isLineStringShape = targetElement.parentElement.id.indexOf('LineString') > -1;
12670
13040
  var selectionsettings = this.selectionsettings;
12671
13041
  var border = {
12672
- color: (targetElement.parentElement.id.indexOf('LineString') === -1) ? this.selectionsettings.border.color : (this.selectionsettings.border.color || this.selectionsettings.fill),
12673
- width: (targetElement.parentElement.id.indexOf('LineString') === -1) ? (this.selectionsettings.border.width / (this.selectionType === 'Marker' ? 1 : this.maps.scale)) : (this.selectionsettings.border.width / this.maps.scale),
13042
+ color: isLineStringShape ? (this.selectionsettings.fill || this.selectionsettings.border.color) : this.selectionsettings.border.color,
13043
+ width: isLineStringShape ? (this.selectionsettings.border.width / this.maps.scale) :
13044
+ (this.selectionsettings.border.width / (this.selectionType === 'Marker' ? 1 : this.maps.scale)),
12674
13045
  opacity: this.selectionsettings.border.opacity
12675
13046
  };
12676
13047
  var eventArgs = {
12677
13048
  opacity: this.selectionsettings.opacity,
12678
- fill: (targetElement.parentElement.id.indexOf('LineString') === -1) ? (this.selectionType !== 'navigationline' ? this.selectionsettings.fill : 'none') : 'transparent',
13049
+ fill: isLineStringShape ? 'transparent' : (this.selectionType !== 'navigationline' ? this.selectionsettings.fill : 'none'),
12679
13050
  border: border,
12680
13051
  name: itemSelection,
12681
13052
  target: targetElement.id,
@@ -12687,7 +13058,8 @@ var Selection = /** @__PURE__ @class */ (function () {
12687
13058
  this.maps.trigger('itemSelection', eventArgs, function (observedArgs) {
12688
13059
  eventArgs.border.opacity = isNullOrUndefined(_this.selectionsettings.border.opacity) ? _this.selectionsettings.opacity : _this.selectionsettings.border.opacity;
12689
13060
  if (!eventArgs.cancel) {
12690
- if (targetElement.getAttribute('class') === _this.selectionType + 'selectionMapStyle') {
13061
+ if (targetElement.getAttribute('class') === _this.selectionType + 'selectionMapStyle'
13062
+ || targetElement.getAttribute('class') === 'LineselectionMapStyle') {
12691
13063
  removeClass(targetElement);
12692
13064
  _this.removedSelectionList(targetElement);
12693
13065
  for (var m = 0; m < _this.maps.shapeSelectionItem.length; m++) {
@@ -12706,7 +13078,8 @@ var Selection = /** @__PURE__ @class */ (function () {
12706
13078
  else {
12707
13079
  var layetElement = getElementByID(_this.maps.element.id + '_Layer_Collections');
12708
13080
  if (!_this.selectionsettings.enableMultiSelect &&
12709
- layetElement.getElementsByClassName(_this.selectionType + 'selectionMapStyle').length > 0) {
13081
+ (layetElement.getElementsByClassName(_this.selectionType + 'selectionMapStyle').length > 0 ||
13082
+ layetElement.getElementsByClassName('LineselectionMapStyle').length > 0)) {
12710
13083
  var eleCount = layetElement.getElementsByClassName(_this.selectionType + 'selectionMapStyle').length;
12711
13084
  var ele = void 0;
12712
13085
  for (var k = 0; k < eleCount; k++) {
@@ -12714,6 +13087,14 @@ var Selection = /** @__PURE__ @class */ (function () {
12714
13087
  removeClass(ele);
12715
13088
  _this.removedSelectionList(ele);
12716
13089
  }
13090
+ if (layetElement.getElementsByClassName('LineselectionMapStyle').length > 0) {
13091
+ eleCount = layetElement.getElementsByClassName('LineselectionMapStyle').length;
13092
+ for (var k = 0; k < eleCount; k++) {
13093
+ ele = layetElement.getElementsByClassName('LineselectionMapStyle')[0];
13094
+ removeClass(ele);
13095
+ _this.removedSelectionList(ele);
13096
+ }
13097
+ }
12717
13098
  if (_this.selectionType === 'Shape') {
12718
13099
  _this.maps.shapeSelectionItem = [];
12719
13100
  var selectionLength = _this.maps.selectedElementId.length;
@@ -12731,13 +13112,24 @@ var Selection = /** @__PURE__ @class */ (function () {
12731
13112
  ele.setAttribute('stroke', _this.maps.layers[layerIndex_2].navigationLineSettings[index].color);
12732
13113
  }
12733
13114
  }
12734
- if (!getElement(_this.selectionType + 'selectionMap')) {
12735
- document.body.appendChild(createStyle(_this.selectionType + 'selectionMap', _this.selectionType + 'selectionMapStyle', eventArgs));
13115
+ if (!isLineStringShape) {
13116
+ if (!getElement(_this.selectionType + 'selectionMap')) {
13117
+ document.body.appendChild(createStyle(_this.selectionType + 'selectionMap', _this.selectionType + 'selectionMapStyle', eventArgs));
13118
+ }
13119
+ else {
13120
+ customizeStyle(_this.selectionType + 'selectionMap', _this.selectionType + 'selectionMapStyle', eventArgs);
13121
+ }
13122
+ targetElement.setAttribute('class', _this.selectionType + 'selectionMapStyle');
12736
13123
  }
12737
13124
  else {
12738
- customizeStyle(_this.selectionType + 'selectionMap', _this.selectionType + 'selectionMapStyle', eventArgs);
13125
+ if (!getElement('LineselectionMap')) {
13126
+ document.body.appendChild(createStyle('LineselectionMap', 'LineselectionMapStyle', eventArgs));
13127
+ }
13128
+ else {
13129
+ customizeStyle('LineselectionMap', 'LineselectionMapStyle', eventArgs);
13130
+ }
13131
+ targetElement.setAttribute('class', 'LineselectionMapStyle');
12739
13132
  }
12740
- targetElement.setAttribute('class', _this.selectionType + 'selectionMapStyle');
12741
13133
  if (targetElement.getAttribute('class') === 'ShapeselectionMapStyle') {
12742
13134
  _this.maps.shapeSelectionClass = getElement(_this.selectionType + 'selectionMap');
12743
13135
  _this.maps.selectedElementId.push(targetElement.getAttribute('id'));
@@ -12806,15 +13198,13 @@ var Selection = /** @__PURE__ @class */ (function () {
12806
13198
  /**
12807
13199
  * To destroy the selection.
12808
13200
  *
12809
- * @param {Maps} maps - Specifies the maps instance.
12810
13201
  * @returns {void}
12811
13202
  * @private
12812
13203
  */
12813
- Selection.prototype.destroy = function (maps) {
12814
- /**
12815
- * Destroy method performed here
12816
- */
13204
+ Selection.prototype.destroy = function () {
13205
+ this.selectionsettings = null;
12817
13206
  this.removeEventListener();
13207
+ this.maps = null;
12818
13208
  };
12819
13209
  return Selection;
12820
13210
  }());
@@ -12999,7 +13389,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
12999
13389
  options: tooltipOption,
13000
13390
  fill: option.fill,
13001
13391
  maps: this.maps,
13002
- element: target, eventArgs: e
13392
+ element: target, eventArgs: e, content: !isNullOrUndefined(currentData) ? currentData.toString() : ''
13003
13393
  };
13004
13394
  this.maps.trigger(tooltipRender, tooltipArgs, function (args) {
13005
13395
  if (!tooltipArgs.cancel && option.visible && !isNullOrUndefined(currentData) &&
@@ -13017,7 +13407,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13017
13407
  header: '',
13018
13408
  data: option['data'],
13019
13409
  template: option['template'],
13020
- content: [currentData.toString()],
13410
+ content: tooltipArgs.content.toString() != currentData.toString() ? [tooltipArgs.content.toString()] : [currentData.toString()],
13021
13411
  shapes: [],
13022
13412
  location: option['location'],
13023
13413
  palette: [markerFill],
@@ -13033,7 +13423,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13033
13423
  header: '',
13034
13424
  data: tooltipArgs.options['data'],
13035
13425
  template: tooltipArgs.options['template'],
13036
- content: [currentData.toString()],
13426
+ content: tooltipArgs.content.toString() != currentData.toString() ? [tooltipArgs.content.toString()] : [currentData.toString()],
13037
13427
  shapes: [],
13038
13428
  location: tooltipArgs.options['location'],
13039
13429
  palette: [markerFill],
@@ -13043,6 +13433,10 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13043
13433
  fill: tooltipArgs.fill || _this.maps.themeStyle.tooltipFillColor
13044
13434
  });
13045
13435
  }
13436
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13437
+ if (_this.maps.isVue || _this.maps.isVue3) {
13438
+ _this.svgTooltip.controlInstance = _this.maps;
13439
+ }
13046
13440
  _this.svgTooltip.opacity = _this.maps.themeStyle.tooltipFillOpacity || _this.svgTooltip.opacity;
13047
13441
  _this.svgTooltip.appendTo(tooltipEle);
13048
13442
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -13056,9 +13450,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13056
13450
  }
13057
13451
  }
13058
13452
  else {
13059
- _this.removeTooltip();
13060
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13061
- _this.maps.clearTemplate();
13453
+ _this.clearTooltip();
13062
13454
  }
13063
13455
  });
13064
13456
  if (this.svgTooltip) {
@@ -13073,9 +13465,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13073
13465
  });
13074
13466
  }
13075
13467
  else {
13076
- this.removeTooltip();
13077
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13078
- this.maps.clearTemplate();
13468
+ this.clearTooltip();
13079
13469
  }
13080
13470
  }
13081
13471
  else {
@@ -13085,9 +13475,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13085
13475
  this.maps.notify(click, this);
13086
13476
  }
13087
13477
  else {
13088
- this.removeTooltip();
13089
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13090
- this.maps.clearTemplate();
13478
+ this.clearTooltip();
13091
13479
  }
13092
13480
  }
13093
13481
  };
@@ -13133,8 +13521,18 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13133
13521
  }
13134
13522
  };
13135
13523
  MapsTooltip.prototype.removeTooltip = function () {
13524
+ var isTooltipRemoved = false;
13136
13525
  if (document.getElementsByClassName('EJ2-maps-Tooltip').length > 0) {
13137
13526
  remove(document.getElementsByClassName('EJ2-maps-Tooltip')[0]);
13527
+ isTooltipRemoved = true;
13528
+ }
13529
+ return isTooltipRemoved;
13530
+ };
13531
+ MapsTooltip.prototype.clearTooltip = function () {
13532
+ var isTooltipRemoved = this.removeTooltip();
13533
+ if (isTooltipRemoved) {
13534
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13535
+ this.maps.clearTemplate();
13138
13536
  }
13139
13537
  };
13140
13538
  // eslint-disable-next-line valid-jsdoc
@@ -13183,12 +13581,17 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
13183
13581
  /**
13184
13582
  * To destroy the tooltip.
13185
13583
  *
13186
- * @param {Maps} maps Specifies the maps instance
13187
13584
  * @returns {void}
13188
13585
  * @private
13189
13586
  */
13190
- MapsTooltip.prototype.destroy = function (maps) {
13587
+ MapsTooltip.prototype.destroy = function () {
13588
+ if (!isNullOrUndefined(this.svgTooltip)) {
13589
+ this.svgTooltip.destroy();
13590
+ }
13591
+ this.svgTooltip = null;
13191
13592
  this.removeEventListener();
13593
+ //TODO: Calling the below code throws spec issue.
13594
+ //this.maps = null;
13192
13595
  };
13193
13596
  return MapsTooltip;
13194
13597
  }());
@@ -13202,7 +13605,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
13202
13605
  this.mouseEnter = false;
13203
13606
  this.isTouch = false;
13204
13607
  this.rectZoomingStart = false;
13205
- this.pinchRect = new Rect(0, 0, 0, 0);
13206
13608
  this.browserName = Browser.info.name;
13207
13609
  // eslint-disable-next-line @typescript-eslint/ban-types
13208
13610
  this.isPointer = Browser.isPointer;
@@ -13211,8 +13613,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
13211
13613
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13212
13614
  this.startTouches = [];
13213
13615
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13214
- this.shapeZoomLocation = [];
13215
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13216
13616
  this.intersect = [];
13217
13617
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13218
13618
  this.mouseDownLatLong = { x: 0, y: 0 };
@@ -13228,7 +13628,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
13228
13628
  this.selectionColor = this.maps.zoomSettings.selectionColor;
13229
13629
  this.fillColor = this.maps.zoomSettings.color;
13230
13630
  this.addEventListener();
13231
- this.groupElements = [];
13232
13631
  }
13233
13632
  /**
13234
13633
  * To perform zooming for maps
@@ -13252,7 +13651,8 @@ var Zoom = /** @__PURE__ @class */ (function () {
13252
13651
  var minZoom = map.zoomSettings.minZoom;
13253
13652
  newZoomFactor = (minZoom > newZoomFactor && type === 'ZoomIn') ? minZoom + 1 : newZoomFactor;
13254
13653
  var prevTilePoint = map.tileTranslatePoint;
13255
- if ((!map.isTileMap) && (type === 'ZoomIn' ? newZoomFactor >= minZoom && newZoomFactor <= maxZoom : newZoomFactor >= minZoom)) {
13654
+ if ((!map.isTileMap) && ((type === 'ZoomIn' ? newZoomFactor >= minZoom && newZoomFactor <= maxZoom : newZoomFactor >= minZoom)
13655
+ || map.isReset)) {
13256
13656
  var availSize = map.mapAreaRect;
13257
13657
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13258
13658
  var minBounds = map.baseMapRectBounds['min'];
@@ -13260,16 +13660,34 @@ var Zoom = /** @__PURE__ @class */ (function () {
13260
13660
  var maxBounds = map.baseMapRectBounds['max'];
13261
13661
  var mapTotalWidth = Math.abs(minBounds['x'] - maxBounds['x']);
13262
13662
  var mapTotalHeight = Math.abs(minBounds['y'] - maxBounds['y']);
13263
- var point = map.translatePoint;
13264
- var translatePointX = point.x - (((availSize.width / scale) - (availSize.width / newZoomFactor)) / (availSize.width / position.x));
13265
- var translatePointY = point.y - (((availSize.height / scale) - (availSize.height / newZoomFactor)) / (availSize.height / position.y));
13266
- var currentHeight = Math.abs(map.baseMapRectBounds['max']['y'] - map.baseMapRectBounds['min']['y']) * newZoomFactor;
13267
- translatePointX = (currentHeight < map.mapAreaRect.height) ? (availSize.x + ((-(minBounds['x'])) + ((availSize.width / 2) - (mapTotalWidth / 2)))) : translatePointX;
13268
- translatePointY = (currentHeight < map.mapAreaRect.height) ? (availSize.y + ((-(minBounds['y'])) + ((availSize.height / 2) - (mapTotalHeight / 2)))) : translatePointY;
13269
- map.translatePoint = new Point(translatePointX, translatePointY);
13663
+ var translatePointX = void 0;
13664
+ var translatePointY = void 0;
13665
+ if (newZoomFactor < 1.2 && map.projectionType !== 'Eckert5') {
13666
+ if (mapTotalWidth === 0 || mapTotalHeight === 0 || mapTotalWidth === mapTotalHeight) {
13667
+ mapTotalWidth = availSize.width / 2;
13668
+ mapTotalHeight = availSize.height;
13669
+ }
13670
+ newZoomFactor = parseFloat(Math.min(availSize.width / mapTotalWidth, availSize.height / mapTotalHeight).toFixed(2));
13671
+ newZoomFactor = newZoomFactor > 1.05 ? 1 : newZoomFactor;
13672
+ map.translatePoint = this.calculateInitalZoomTranslatePoint(newZoomFactor, mapTotalWidth, mapTotalHeight, availSize, minBounds, map);
13673
+ }
13674
+ else {
13675
+ var point = map.translatePoint;
13676
+ translatePointX = point.x - (((availSize.width / scale) - (availSize.width / newZoomFactor)) / (availSize.width / position.x));
13677
+ translatePointY = point.y - (((availSize.height / scale) - (availSize.height / newZoomFactor)) / (availSize.height / position.y));
13678
+ var currentHeight = Math.abs(map.baseMapRectBounds['max']['y'] - map.baseMapRectBounds['min']['y']) * newZoomFactor;
13679
+ translatePointX = (currentHeight < map.mapAreaRect.height) ? (availSize.x + ((-(minBounds['x'])) + ((availSize.width / 2) - (mapTotalWidth / 2)))) : translatePointX;
13680
+ translatePointY = (currentHeight < map.mapAreaRect.height) ? (availSize.y + ((-(minBounds['y'])) + ((availSize.height / 2) - (mapTotalHeight / 2)))) : translatePointY;
13681
+ map.translatePoint = new Point(translatePointX, translatePointY);
13682
+ }
13270
13683
  map.scale = newZoomFactor;
13271
- this.triggerZoomEvent(prevTilePoint, prevLevel, type);
13272
- this.applyTransform();
13684
+ if (this.triggerZoomEvent(prevTilePoint, prevLevel, type)) {
13685
+ map.translatePoint = map.previousPoint;
13686
+ map.scale = map.mapScaleValue = map.previousScale;
13687
+ }
13688
+ else {
13689
+ this.applyTransform(map);
13690
+ }
13273
13691
  }
13274
13692
  else if ((map.isTileMap) && (newZoomFactor >= minZoom && newZoomFactor <= maxZoom)) {
13275
13693
  this.getTileTranslatePosition(prevLevel, newZoomFactor, position, type);
@@ -13286,34 +13704,49 @@ var Zoom = /** @__PURE__ @class */ (function () {
13286
13704
  }
13287
13705
  map.translatePoint.y = (map.tileTranslatePoint.y - (0.01 * map.mapScaleValue)) / map.scale;
13288
13706
  map.translatePoint.x = (map.tileTranslatePoint.x - (0.01 * map.mapScaleValue)) / map.scale;
13289
- this.triggerZoomEvent(prevTilePoint, prevLevel, type);
13290
- if (document.querySelector('.GroupElement')) {
13291
- document.querySelector('.GroupElement').style.display = 'none';
13707
+ if (this.triggerZoomEvent(prevTilePoint, prevLevel, type)) {
13708
+ map.translatePoint = map.tileTranslatePoint = new Point(0, 0);
13709
+ map.scale = map.previousScale;
13710
+ map.tileZoomLevel = prevLevel;
13711
+ map.zoomSettings.zoomFactor = map.previousScale;
13292
13712
  }
13293
- if (document.getElementById(this.maps.element.id + '_LayerIndex_1')) {
13294
- document.getElementById(this.maps.element.id + '_LayerIndex_1').style.display = 'none';
13713
+ else {
13714
+ if (document.querySelector('.GroupElement')) {
13715
+ document.querySelector('.GroupElement').style.display = 'none';
13716
+ }
13717
+ if (document.getElementById(this.maps.element.id + '_LayerIndex_1')) {
13718
+ document.getElementById(this.maps.element.id + '_LayerIndex_1').style.display = 'none';
13719
+ }
13720
+ this.markerLineAnimation(map);
13721
+ map.mapLayerPanel.generateTiles(newZoomFactor, map.tileTranslatePoint, type + 'wheel', null, position);
13722
+ var element1 = document.getElementById(this.maps.element.id + '_tiles');
13723
+ var animationDuration = this.maps.layersCollection[0].animationDuration;
13724
+ setTimeout(function () {
13725
+ // if (type === 'ZoomOut') {
13726
+ // element1.removeChild(element1.children[element1.childElementCount - 1]);
13727
+ // if (element1.childElementCount) {
13728
+ // element1.removeChild(element1.children[element1.childElementCount - 1]);
13729
+ // } else {
13730
+ // element1 = element1;
13731
+ // }
13732
+ // }
13733
+ _this.applyTransform(_this.maps);
13734
+ if (document.getElementById(_this.maps.element.id + '_LayerIndex_1')) {
13735
+ document.getElementById(_this.maps.element.id + '_LayerIndex_1').style.display = 'block';
13736
+ }
13737
+ }, animationDuration);
13295
13738
  }
13296
- this.markerLineAnimation(map);
13297
- map.mapLayerPanel.generateTiles(newZoomFactor, map.tileTranslatePoint, type + 'wheel', null, position);
13298
- var element1 = document.getElementById(this.maps.element.id + '_tiles');
13299
- var animationDuration = this.maps.layersCollection[0].animationDuration;
13300
- setTimeout(function () {
13301
- // if (type === 'ZoomOut') {
13302
- // element1.removeChild(element1.children[element1.childElementCount - 1]);
13303
- // if (element1.childElementCount) {
13304
- // element1.removeChild(element1.children[element1.childElementCount - 1]);
13305
- // } else {
13306
- // element1 = element1;
13307
- // }
13308
- // }
13309
- _this.applyTransform();
13310
- if (document.getElementById(_this.maps.element.id + '_LayerIndex_1')) {
13311
- document.getElementById(_this.maps.element.id + '_LayerIndex_1').style.display = 'block';
13312
- }
13313
- }, animationDuration);
13314
13739
  }
13315
13740
  this.maps.zoomNotApplied = false;
13316
13741
  };
13742
+ Zoom.prototype.calculateInitalZoomTranslatePoint = function (newZoomFactor, mapTotalWidth, mapTotalHeight, availSize, minBounds, map) {
13743
+ mapTotalWidth *= newZoomFactor;
13744
+ mapTotalHeight *= newZoomFactor;
13745
+ var widthDiff = minBounds['x'] !== 0 && map.translateType === 'layers' ? map.availableSize.width - availSize.width : 0;
13746
+ var translatePointX = availSize.x + ((-(minBounds['x'])) + ((availSize.width / 2) - (mapTotalWidth / 2))) - widthDiff;
13747
+ var translatePointY = availSize.y + ((-(minBounds['y'])) + ((availSize.height / 2) - (mapTotalHeight / 2)));
13748
+ return new Point(translatePointX, translatePointY);
13749
+ };
13317
13750
  Zoom.prototype.triggerZoomEvent = function (prevTilePoint, prevLevel, type) {
13318
13751
  var map = this.maps;
13319
13752
  var zoomArgs;
@@ -13332,6 +13765,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13332
13765
  };
13333
13766
  }
13334
13767
  map.trigger('zoom', zoomArgs);
13768
+ return zoomArgs.cancel;
13335
13769
  };
13336
13770
  Zoom.prototype.getTileTranslatePosition = function (prevLevel, currentLevel, position, type) {
13337
13771
  var map = this.maps;
@@ -13357,6 +13791,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13357
13791
  var zoomRect = this.zoomingRect;
13358
13792
  var maxZoom = map.zoomSettings.maxZoom;
13359
13793
  var minZoom = map.zoomSettings.minZoom;
13794
+ var isZoomCancelled;
13360
13795
  if (zoomRect.height > 0 && zoomRect.width > 0) {
13361
13796
  var x = this.zoomingRect.x + (this.zoomingRect.width / 2);
13362
13797
  var y = this.zoomingRect.y + (this.zoomingRect.height / 2);
@@ -13369,7 +13804,11 @@ var Zoom = /** @__PURE__ @class */ (function () {
13369
13804
  var translatePointY = translatePoint.y - (((size.height / scale) - (size.height / zoomCalculationFactor)) / (size.height / y));
13370
13805
  map.translatePoint = new Point(translatePointX, translatePointY);
13371
13806
  map.scale = zoomCalculationFactor;
13372
- this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13807
+ isZoomCancelled = this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13808
+ if (isZoomCancelled) {
13809
+ map.translatePoint = map.previousPoint;
13810
+ map.scale = map.previousScale;
13811
+ }
13373
13812
  }
13374
13813
  else {
13375
13814
  zoomCalculationFactor = prevLevel + (Math.round(prevLevel + (((size.width / zoomRect.width) + (size.height / zoomRect.height)) / 2)));
@@ -13382,13 +13821,21 @@ var Zoom = /** @__PURE__ @class */ (function () {
13382
13821
  map.translatePoint.y = (map.tileTranslatePoint.y - (0.5 * Math.pow(2, zoomCalculationFactor))) /
13383
13822
  (Math.pow(2, zoomCalculationFactor));
13384
13823
  map.scale = (Math.pow(2, zoomCalculationFactor));
13385
- this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13386
- map.mapLayerPanel.generateTiles(zoomCalculationFactor, map.tileTranslatePoint);
13824
+ isZoomCancelled = this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13825
+ if (isZoomCancelled) {
13826
+ map.translatePoint = map.tileTranslatePoint = new Point(0, 0);
13827
+ map.scale = map.tileZoomLevel = map.zoomSettings.zoomFactor = prevLevel;
13828
+ }
13829
+ else {
13830
+ map.mapLayerPanel.generateTiles(zoomCalculationFactor, map.tileTranslatePoint);
13831
+ }
13832
+ }
13833
+ if (!isZoomCancelled) {
13834
+ map.mapScaleValue = zoomCalculationFactor;
13835
+ this.applyTransform(map, true);
13836
+ this.maps.zoomNotApplied = false;
13837
+ this.zoomingRect = null;
13387
13838
  }
13388
- map.mapScaleValue = zoomCalculationFactor;
13389
- this.applyTransform(true);
13390
- this.maps.zoomNotApplied = false;
13391
- this.zoomingRect = null;
13392
13839
  }
13393
13840
  };
13394
13841
  Zoom.prototype.setInteraction = function (newInteraction) {
@@ -13417,6 +13864,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13417
13864
  this.pinchFactor *= newScale;
13418
13865
  this.pinchFactor = Math.min(this.maps.zoomSettings.maxZoom, Math.max(this.pinchFactor, this.maps.zoomSettings.minZoom));
13419
13866
  var zoomCalculationFactor = this.pinchFactor;
13867
+ var isZoomCancelled;
13420
13868
  if (!map.isTileMap) {
13421
13869
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13422
13870
  var minBounds = map.baseMapRectBounds['min'];
@@ -13425,14 +13873,31 @@ var Zoom = /** @__PURE__ @class */ (function () {
13425
13873
  var mapTotalHeight = Math.abs(minBounds['y'] - maxBounds['y']);
13426
13874
  var mapTotalWidth = Math.abs(minBounds['x'] - maxBounds['x']);
13427
13875
  var translatePoint = map.translatePoint;
13428
- var currentHeight = Math.abs(map.baseMapRectBounds['max']['y'] - map.baseMapRectBounds['min']['y']) * zoomCalculationFactor;
13429
- var translatePointX = translatePoint.x - (((availSize.width / map.scale) - (availSize.width / zoomCalculationFactor)) / (availSize.width / touchCenter.x));
13430
- var translatePointY = translatePoint.y - (((availSize.height / map.scale) - (availSize.height / zoomCalculationFactor)) / (availSize.height / touchCenter.y));
13431
- translatePointX = (currentHeight < map.mapAreaRect.height) ? (availSize.x + ((-(minBounds['x'])) + ((availSize.width / 2) - (mapTotalWidth / 2)))) : translatePointX;
13432
- translatePointY = (currentHeight < map.mapAreaRect.height) ? (availSize.y + ((-(minBounds['y'])) + ((availSize.height / 2) - (mapTotalHeight / 2)))) : translatePointY;
13433
- map.translatePoint = new Point(translatePointX, translatePointY);
13876
+ var translatePointX = void 0;
13877
+ var translatePointY = void 0;
13878
+ if (zoomCalculationFactor < 1.2 && map.projectionType !== 'Eckert5') {
13879
+ if (mapTotalWidth === 0 || mapTotalHeight === 0 || mapTotalWidth === mapTotalHeight) {
13880
+ mapTotalWidth = availSize.width / 2;
13881
+ mapTotalHeight = availSize.height;
13882
+ }
13883
+ zoomCalculationFactor = parseFloat(Math.min(availSize.width / mapTotalWidth, availSize.height / mapTotalHeight).toFixed(2));
13884
+ zoomCalculationFactor = zoomCalculationFactor > 1.05 ? 1 : zoomCalculationFactor;
13885
+ map.translatePoint = this.calculateInitalZoomTranslatePoint(zoomCalculationFactor, mapTotalWidth, mapTotalHeight, availSize, minBounds, map);
13886
+ }
13887
+ else {
13888
+ var currentHeight = Math.abs(map.baseMapRectBounds['max']['y'] - map.baseMapRectBounds['min']['y']) * zoomCalculationFactor;
13889
+ translatePointX = translatePoint.x - (((availSize.width / map.scale) - (availSize.width / zoomCalculationFactor)) / (availSize.width / touchCenter.x));
13890
+ translatePointY = translatePoint.y - (((availSize.height / map.scale) - (availSize.height / zoomCalculationFactor)) / (availSize.height / touchCenter.y));
13891
+ translatePointX = (currentHeight < map.mapAreaRect.height) ? (availSize.x + ((-(minBounds['x'])) + ((availSize.width / 2) - (mapTotalWidth / 2)))) : translatePointX;
13892
+ translatePointY = (currentHeight < map.mapAreaRect.height) ? (availSize.y + ((-(minBounds['y'])) + ((availSize.height / 2) - (mapTotalHeight / 2)))) : translatePointY;
13893
+ map.translatePoint = new Point(translatePointX, translatePointY);
13894
+ }
13434
13895
  map.scale = zoomCalculationFactor;
13435
- this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13896
+ isZoomCancelled = this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13897
+ if (isZoomCancelled) {
13898
+ map.translatePoint = map.previousPoint;
13899
+ map.scale = map.previousScale;
13900
+ }
13436
13901
  }
13437
13902
  else {
13438
13903
  var newTileFactor = zoomCalculationFactor;
@@ -13443,10 +13908,20 @@ var Zoom = /** @__PURE__ @class */ (function () {
13443
13908
  map.translatePoint.y = (map.tileTranslatePoint.y - (0.5 * Math.pow(2, newTileFactor))) /
13444
13909
  (Math.pow(2, newTileFactor));
13445
13910
  map.scale = (Math.pow(2, newTileFactor));
13446
- this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13447
- map.mapLayerPanel.generateTiles(newTileFactor, map.tileTranslatePoint);
13911
+ isZoomCancelled = this.triggerZoomEvent(prevTilePoint, prevLevel, '');
13912
+ if (isZoomCancelled) {
13913
+ map.translatePoint = map.tileTranslatePoint = new Point(0, 0);
13914
+ map.scale = map.previousScale;
13915
+ map.tileZoomLevel = prevLevel;
13916
+ map.zoomSettings.zoomFactor = map.previousScale;
13917
+ }
13918
+ else {
13919
+ map.mapLayerPanel.generateTiles(newTileFactor, map.tileTranslatePoint);
13920
+ }
13921
+ }
13922
+ if (!isZoomCancelled) {
13923
+ this.applyTransform(map);
13448
13924
  }
13449
- this.applyTransform();
13450
13925
  };
13451
13926
  Zoom.prototype.drawZoomRectangle = function () {
13452
13927
  var map = this.maps;
@@ -13492,17 +13967,17 @@ var Zoom = /** @__PURE__ @class */ (function () {
13492
13967
  zoomAnimate(element, 0, duration, new MapLocation(x, y), scale, this.maps.mapAreaRect, this.maps);
13493
13968
  }
13494
13969
  };
13495
- Zoom.prototype.applyTransform = function (animate$$1) {
13970
+ Zoom.prototype.applyTransform = function (maps, animate$$1) {
13496
13971
  var layerIndex;
13497
13972
  this.templateCount = 0;
13498
13973
  var markerStyle;
13499
- var scale = this.maps.scale;
13500
- var x = this.maps.translatePoint.x;
13501
- var y = this.maps.translatePoint.y;
13974
+ var scale = maps.scale;
13975
+ var x = maps.translatePoint.x;
13976
+ var y = maps.translatePoint.y;
13502
13977
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13503
- this.maps.zoomShapeCollection = [];
13504
- if (document.getElementById(this.maps.element.id + '_mapsTooltip')) {
13505
- removeElement(this.maps.element.id + '_mapsTooltip');
13978
+ maps.zoomShapeCollection = [];
13979
+ if (document.getElementById(maps.element.id + '_mapsTooltip')) {
13980
+ removeElement(maps.element.id + '_mapsTooltip');
13506
13981
  }
13507
13982
  if (this.layerCollectionEle) {
13508
13983
  for (var i_1 = 0; i_1 < this.layerCollectionEle.childElementCount; i_1++) {
@@ -13510,30 +13985,29 @@ var Zoom = /** @__PURE__ @class */ (function () {
13510
13985
  if (layerElement.tagName === 'g') {
13511
13986
  this.templateCount++;
13512
13987
  this.index = layerElement.id.indexOf('_LayerIndex_') > -1 && parseFloat(layerElement.id.split('_LayerIndex_')[1].split('_')[0]);
13513
- this.currentLayer = this.maps.layersCollection[this.index];
13514
- var factor = this.maps.mapLayerPanel.calculateFactor(this.currentLayer);
13988
+ this.currentLayer = maps.layersCollection[this.index];
13989
+ var factor = maps.mapLayerPanel.calculateFactor(this.currentLayer);
13515
13990
  for (var j = 0; j < layerElement.childElementCount; j++) {
13516
13991
  var currentEle = layerElement.childNodes[j];
13517
13992
  if (!(currentEle.id.indexOf('_Markers_Group') > -1) && (!(currentEle.id.indexOf('_bubble_Group') > -1))
13518
13993
  && (!(currentEle.id.indexOf('_dataLableIndex_Group') > -1))) {
13519
- if (this.maps.isTileMap && (currentEle.id.indexOf('_line_Group') > -1)) {
13994
+ if (maps.isTileMap && (currentEle.id.indexOf('_line_Group') > -1)) {
13520
13995
  currentEle.remove();
13521
13996
  if (layerElement.children.length > 0 && layerElement.children[0]) {
13522
- layerElement.insertBefore(this.maps.navigationLineModule.renderNavigation(this.currentLayer, this.maps.tileZoomLevel, this.index), layerElement.children[0]);
13997
+ layerElement.insertBefore(maps.navigationLineModule.renderNavigation(this.currentLayer, maps.tileZoomLevel, this.index), layerElement.children[1]);
13523
13998
  }
13524
13999
  else {
13525
- layerElement.appendChild(this.maps.navigationLineModule.renderNavigation(this.currentLayer, this.maps.tileZoomLevel, this.index));
14000
+ layerElement.appendChild(maps.navigationLineModule.renderNavigation(this.currentLayer, maps.tileZoomLevel, this.index));
13526
14001
  }
13527
14002
  }
13528
- else {
13529
- changeBorderWidth(currentEle, this.index, scale, this.maps);
13530
- this.maps.zoomTranslatePoint = this.maps.translatePoint;
14003
+ else if (currentEle.id.indexOf('Legend') == -1) {
14004
+ changeBorderWidth(currentEle, this.index, scale, maps);
14005
+ maps.zoomTranslatePoint = maps.translatePoint;
13531
14006
  this.animateTransform(currentEle, animate$$1, x, y, scale);
13532
- this.shapeZoomLocation = currentEle.childNodes;
13533
14007
  }
13534
14008
  }
13535
14009
  else if (currentEle.id.indexOf('_Markers_Group') > -1) {
13536
- if (!this.isPanning) {
14010
+ if (!this.isPanning && !isNullOrUndefined(currentEle.childNodes[0])) {
13537
14011
  this.markerTranslates(currentEle.childNodes[0], factor, x, y, scale, 'Marker', layerElement, animate$$1);
13538
14012
  }
13539
14013
  currentEle = layerElement.childNodes[j];
@@ -13552,11 +14026,11 @@ var Zoom = /** @__PURE__ @class */ (function () {
13552
14026
  markerSelectionValues['latitude'] ||
13553
14027
  this.currentLayer.markerSettings[markerIndex].initialMarkerSelection[x_1]['longitude'] ===
13554
14028
  markerSelectionValues['longitude']) {
13555
- this.maps.markerSelection(this.currentLayer.markerSettings[markerIndex].selectionSettings, this.maps, currentEle.children[k], this.currentLayer.markerSettings[markerIndex].dataSource[dataIndex]);
14029
+ maps.markerSelection(this.currentLayer.markerSettings[markerIndex].selectionSettings, maps, currentEle.children[k], this.currentLayer.markerSettings[markerIndex].dataSource[dataIndex]);
13556
14030
  }
13557
14031
  }
13558
- if ((this.currentLayer.animationDuration > 0 || (this.maps.layersCollection[0].animationDuration > 0 && this.currentLayer.type === 'SubLayer')) && !this.isPanning) {
13559
- if (this.maps.isTileMap) {
14032
+ if ((this.currentLayer.animationDuration > 0 || (maps.layersCollection[0].animationDuration > 0 && this.currentLayer.type === 'SubLayer')) && !this.isPanning) {
14033
+ if (maps.isTileMap) {
13560
14034
  var groupElement = document.querySelector('.GroupElement');
13561
14035
  if (groupElement && !(document.querySelector('.ClusterGroupElement')) && markerAnimation) {
13562
14036
  groupElement.style.display = 'none';
@@ -13568,29 +14042,29 @@ var Zoom = /** @__PURE__ @class */ (function () {
13568
14042
  }
13569
14043
  }
13570
14044
  }
13571
- if (this.isPanning && this.maps.markerModule.sameMarkerData.length > 0) {
13572
- clusterSeparate(this.maps.markerModule.sameMarkerData, this.maps, currentEle, true);
14045
+ if (this.isPanning && maps.markerModule.sameMarkerData.length > 0) {
14046
+ clusterSeparate(maps.markerModule.sameMarkerData, maps, currentEle, true);
13573
14047
  }
13574
- else if (this.maps.markerModule.sameMarkerData.length > 0) {
13575
- this.maps.markerModule.sameMarkerData = [];
13576
- if (document.getElementById(this.maps.element.id + '_mapsTooltip')) {
13577
- removeElement(this.maps.element.id + '_mapsTooltip');
14048
+ else if (maps.markerModule.sameMarkerData.length > 0) {
14049
+ maps.markerModule.sameMarkerData = [];
14050
+ if (document.getElementById(maps.element.id + '_mapsTooltip')) {
14051
+ removeElement(maps.element.id + '_mapsTooltip');
13578
14052
  }
13579
14053
  }
13580
- if (document.getElementById(this.maps.element.id + '_mapsTooltip') && this.maps.mapsTooltipModule.tooltipTargetID.indexOf('_MarkerIndex_')
14054
+ if (document.getElementById(maps.element.id + '_mapsTooltip') && maps.mapsTooltipModule.tooltipTargetID.indexOf('_MarkerIndex_')
13581
14055
  && !this.isPanning) {
13582
- var mapsTooltip = this.maps.mapsTooltipModule;
14056
+ var mapsTooltip = maps.mapsTooltipModule;
13583
14057
  var tooltipElement = currentEle.querySelector('#' + mapsTooltip.tooltipTargetID);
13584
14058
  if (!isNullOrUndefined(tooltipElement)) {
13585
14059
  if (tooltipElement['style']['visibility'] === 'hidden') {
13586
- removeElement(this.maps.element.id + '_mapsTooltip');
14060
+ removeElement(maps.element.id + '_mapsTooltip');
13587
14061
  }
13588
14062
  else {
13589
14063
  var x_2 = parseFloat(tooltipElement.getAttribute('transform').split('(')[1].split(')')[0].split(' ')[1]);
13590
14064
  var y_1 = parseFloat(tooltipElement.getAttribute('transform').split('(')[1].split(')')[0].split(' ')[2]);
13591
- if (this.maps.isTileMap) {
13592
- x_2 += +getElement(this.maps.element.id + '_tile_parent')['style']['left'].split('px')[0];
13593
- y_1 += +getElement(this.maps.element.id + '_tile_parent')['style']['top'].split('px')[0];
14065
+ if (maps.isTileMap) {
14066
+ x_2 += +getElement(maps.element.id + '_tile_parent')['style']['left'].split('px')[0];
14067
+ y_1 += +getElement(maps.element.id + '_tile_parent')['style']['top'].split('px')[0];
13594
14068
  }
13595
14069
  mapsTooltip.svgTooltip.location.x = x_2;
13596
14070
  mapsTooltip.svgTooltip.location.y = y_1;
@@ -13608,9 +14082,9 @@ var Zoom = /** @__PURE__ @class */ (function () {
13608
14082
  layerIndex = parseFloat(childElement.id.split('_LayerIndex_')[1].split('_')[0]);
13609
14083
  var bubleIndex = parseFloat(childElement.id.split('_BubbleIndex_')[1].split('_')[0]);
13610
14084
  var dataIndex = parseFloat(childElement.id.split('_BubbleIndex_')[1].split('_')[2]);
13611
- for (var l = 0; l < this.maps.bubbleModule.bubbleCollection.length; l++) {
14085
+ for (var l = 0; l < maps.bubbleModule.bubbleCollection.length; l++) {
13612
14086
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13613
- var bubbleCollection = this.maps.bubbleModule.bubbleCollection[l];
14087
+ var bubbleCollection = maps.bubbleModule.bubbleCollection[l];
13614
14088
  if (bubbleCollection['LayerIndex'] === layerIndex && bubbleCollection['BubbleIndex'] === bubleIndex &&
13615
14089
  bubbleCollection['DataIndex'] === dataIndex) {
13616
14090
  var centerX = bubbleCollection['center']['x'];
@@ -13629,24 +14103,25 @@ var Zoom = /** @__PURE__ @class */ (function () {
13629
14103
  }
13630
14104
  }
13631
14105
  }
13632
- else if (currentEle.id.indexOf('_dataLableIndex_Group') > -1) {
14106
+ else if (currentEle.id.indexOf('_dataLableIndex_Group') > -1 && !isNullOrUndefined(maps.layers[this.index])) {
13633
14107
  this.intersect = [];
13634
- this.maps.zoomLabelPositions = [];
13635
- this.maps.zoomLabelPositions = this.maps.dataLabelModule.dataLabelCollections;
14108
+ maps.zoomLabelPositions = [];
14109
+ maps.zoomLabelPositions = maps.dataLabelModule.dataLabelCollections;
14110
+ var labelAnimate = !maps.isTileMap && animate$$1;
13636
14111
  for (var k = 0; k < currentEle.childElementCount; k++) {
13637
14112
  if (currentEle.childNodes[k]['id'].indexOf('_LabelIndex_') > -1) {
13638
14113
  var labelIndex = parseFloat(currentEle.childNodes[k]['id'].split('_LabelIndex_')[1].split('_')[0]);
13639
- this.zoomshapewidth = this.shapeZoomLocation[labelIndex].getBoundingClientRect();
13640
- this.maps.zoomShapeCollection.push(this.zoomshapewidth);
13641
- this.dataLabelTranslate(currentEle.childNodes[k], factor, x, y, scale, 'DataLabel', animate$$1);
13642
- var dataLabel = this.maps.layers[this.index].dataLabelSettings;
14114
+ this.zoomshapewidth = currentEle.childNodes[k].getBoundingClientRect();
14115
+ maps.zoomShapeCollection.push(this.zoomshapewidth);
14116
+ this.dataLabelTranslate(currentEle.childNodes[k], factor, x, y, scale, 'DataLabel', labelAnimate);
14117
+ var dataLabel = maps.layers[this.index].dataLabelSettings;
13643
14118
  var border = dataLabel.border;
13644
14119
  if (k > 0 && border['width'] > 1) {
13645
- if (currentEle.childNodes[k - 1]['id'].indexOf('_rectIndex_') > -1) {
13646
- var labelX = ((this.maps.zoomLabelPositions[labelIndex]['location']['x'] + x) * scale);
13647
- var labelY = ((this.maps.zoomLabelPositions[labelIndex]['location']['y'] + y) * scale);
14120
+ if (currentEle.childNodes[k - 1]['id'].indexOf('_rectIndex_') > -1 && !isNullOrUndefined(maps.zoomLabelPositions[labelIndex])) {
14121
+ var labelX = ((maps.zoomLabelPositions[labelIndex]['location']['x'] + x) * scale);
14122
+ var labelY = ((maps.zoomLabelPositions[labelIndex]['location']['y'] + y) * scale);
13648
14123
  var zoomtext = currentEle.childNodes[k]['innerHTML'];
13649
- var style = this.maps.layers[this.index].dataLabelSettings.textStyle;
14124
+ var style = maps.layers[this.index].dataLabelSettings.textStyle;
13650
14125
  var zoomtextSize = measureText(zoomtext, style);
13651
14126
  var padding = 5;
13652
14127
  var rectElement = currentEle.childNodes[k - 1];
@@ -13661,11 +14136,11 @@ var Zoom = /** @__PURE__ @class */ (function () {
13661
14136
  }
13662
14137
  }
13663
14138
  }
13664
- this.maps.arrangeTemplate();
14139
+ maps.arrangeTemplate();
13665
14140
  }
13666
14141
  if (!isNullOrUndefined(this.currentLayer)) {
13667
- if (!animate$$1 || this.currentLayer.animationDuration === 0 || this.maps.isTileMap) {
13668
- this.processTemplate(x, y, scale, this.maps);
14142
+ if (!animate$$1 || this.currentLayer.animationDuration === 0 || maps.isTileMap) {
14143
+ this.processTemplate(x, y, scale, maps);
13669
14144
  }
13670
14145
  }
13671
14146
  }
@@ -13725,10 +14200,10 @@ var Zoom = /** @__PURE__ @class */ (function () {
13725
14200
  }
13726
14201
  var lati = (!isNullOrUndefined(markerSettings.latitudeValuePath)) ?
13727
14202
  Number(getValueFromObject(data, markerSettings.latitudeValuePath)) : !isNullOrUndefined(data['latitude']) ?
13728
- parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? data['Latitude'] : 0;
14203
+ parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? data['Latitude'] : null;
13729
14204
  var long = (!isNullOrUndefined(markerSettings.longitudeValuePath)) ?
13730
14205
  Number(getValueFromObject(data, markerSettings.longitudeValuePath)) : !isNullOrUndefined(data['longitude']) ?
13731
- parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? data['Longitude'] : 0;
14206
+ parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? data['Longitude'] : null;
13732
14207
  var offset = markerSettings.offset;
13733
14208
  if (!eventArgs.cancel && markerSettings.visible && !isNullOrUndefined(long) && !isNullOrUndefined(lati)) {
13734
14209
  var markerID = _this.maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
@@ -13748,10 +14223,10 @@ var Zoom = /** @__PURE__ @class */ (function () {
13748
14223
  nullCount += (!isNaN(lati) && !isNaN(long)) ? 0 : 1;
13749
14224
  markerTemplateCounts += (eventArgs.cancel) ? 1 : 0;
13750
14225
  markerCounts += (eventArgs.cancel) ? 1 : 0;
13751
- _this.maps.markerNullCount = (!isNullOrUndefined(lati) || !isNullOrUndefined(long))
13752
- ? _this.maps.markerNullCount : _this.maps.markerNullCount + 1;
14226
+ _this.maps.markerNullCount = (isNullOrUndefined(lati) || isNullOrUndefined(long))
14227
+ ? _this.maps.markerNullCount + 1 : _this.maps.markerNullCount;
13753
14228
  var markerDataLength = markerDatas.length - _this.maps.markerNullCount;
13754
- if (markerSVGObject.childElementCount === (markerDatas.length - markerTemplateCounts - nullCount) && (type !== 'Template')) {
14229
+ if (markerSVGObject.childElementCount === (markerDataLength - markerTemplateCounts - nullCount) && (type !== 'Template')) {
13755
14230
  layerElement.appendChild(markerSVGObject);
13756
14231
  if (currentLayers.markerClusterSettings.allowClustering) {
13757
14232
  _this.maps.svgObject.appendChild(markerSVGObject);
@@ -13759,7 +14234,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13759
14234
  clusterTemplate(currentLayers, markerSVGObject, _this.maps, layerIndex, markerSVGObject, layerElement, true, true);
13760
14235
  }
13761
14236
  }
13762
- if (markerTemplateElements.childElementCount === (markerDatas.length - markerCounts - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
14237
+ if (markerTemplateElements.childElementCount === (markerDataLength - markerCounts - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
13763
14238
  getElementByID(_this.maps.element.id + '_Secondary_Element').appendChild(markerTemplateElements);
13764
14239
  if (scale >= 1) {
13765
14240
  if (currentLayers.markerClusterSettings.allowClustering) {
@@ -13855,7 +14330,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13855
14330
  }
13856
14331
  if (this.maps.layers[this.index].dataLabelSettings.smartLabelMode === 'Hide') {
13857
14332
  if (scale > 1) {
13858
- text = (this.zoomshapewidth['width'] >= zoomtextSize['width']) ? zoomtext : '';
14333
+ text = ((this.maps.dataLabelShape[l] * scale) >= zoomtextSize['width']) ? zoomtext : '';
13859
14334
  element.innerHTML = text;
13860
14335
  }
13861
14336
  else {
@@ -13865,7 +14340,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13865
14340
  }
13866
14341
  if (this.maps.layers[this.index].dataLabelSettings.smartLabelMode === 'Trim') {
13867
14342
  if (scale > 1) {
13868
- zoomtrimLabel = textTrim(this.zoomshapewidth['width'], zoomtext, style);
14343
+ zoomtrimLabel = textTrim((this.maps.dataLabelShape[l] * scale), zoomtext, style);
13869
14344
  text = zoomtrimLabel;
13870
14345
  element.innerHTML = text;
13871
14346
  }
@@ -13903,7 +14378,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13903
14378
  || textLocations['heightTop'] > this.intersect[j]['heightBottom']) {
13904
14379
  trimmedLable = !isNullOrUndefined(text) ? text : zoomtext;
13905
14380
  if (scale > 1) {
13906
- trimmedLable = textTrim(this.zoomshapewidth['width'], trimmedLable, style);
14381
+ trimmedLable = textTrim((this.maps.dataLabelShape[l] * scale), trimmedLable, style);
13907
14382
  }
13908
14383
  element.innerHTML = trimmedLable;
13909
14384
  }
@@ -13929,11 +14404,11 @@ var Zoom = /** @__PURE__ @class */ (function () {
13929
14404
  }
13930
14405
  this.intersect.push(textLocations);
13931
14406
  if (isNullOrUndefined(trimmedLable)) {
13932
- trimmedLable = textTrim(this.zoomshapewidth['width'], zoomtext, style);
14407
+ trimmedLable = textTrim((this.maps.dataLabelShape[l] * scale), zoomtext, style);
13933
14408
  element.innerHTML = trimmedLable;
13934
14409
  }
13935
14410
  }
13936
- else {
14411
+ if (animate$$1 || duration > 0) {
13937
14412
  smoothTranslate(element, 0, duration, new MapLocation(labelX, labelY));
13938
14413
  }
13939
14414
  }
@@ -14055,7 +14530,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
14055
14530
  var layerRect = getElementByID(map.element.id + '_Layer_Collections').getBoundingClientRect();
14056
14531
  var elementRect = getElementByID(map.element.id + '_svg').getBoundingClientRect();
14057
14532
  var panningXDirection = ((xDifference < 0 ? layerRect.left <= (elementRect.left + map.mapAreaRect.x) :
14058
- ((layerRect.left + layerRect.width) >= (elementRect.left + elementRect.width) + map.mapAreaRect.x + map.margin.left)));
14533
+ ((layerRect.left + layerRect.width + map.mapAreaRect.x) >= (elementRect.width))));
14059
14534
  var panningYDirection = ((yDifference < 0 ? layerRect.top <= (elementRect.top + map.mapAreaRect.y) :
14060
14535
  ((layerRect.top + layerRect.height + legendHeight + map.margin.top) >= (elementRect.top + elementRect.height))));
14061
14536
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -14069,15 +14544,15 @@ var Zoom = /** @__PURE__ @class */ (function () {
14069
14544
  if (!panArgs.cancel) {
14070
14545
  if (panningXDirection && panningYDirection) {
14071
14546
  map.translatePoint = new Point(x, y);
14072
- this.applyTransform();
14547
+ this.applyTransform(map);
14073
14548
  }
14074
14549
  else if (panningXDirection) {
14075
14550
  map.translatePoint = new Point(x, map.translatePoint.y);
14076
- this.applyTransform();
14551
+ this.applyTransform(map);
14077
14552
  }
14078
14553
  else if (panningYDirection) {
14079
14554
  map.translatePoint = new Point(map.translatePoint.x, y);
14080
- this.applyTransform();
14555
+ this.applyTransform(map);
14081
14556
  }
14082
14557
  }
14083
14558
  this.maps.zoomNotApplied = false;
@@ -14105,7 +14580,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
14105
14580
  };
14106
14581
  map.trigger(pan, panArgs);
14107
14582
  map.mapLayerPanel.generateTiles(map.tileZoomLevel, map.tileTranslatePoint, 'Pan');
14108
- this.applyTransform();
14583
+ this.applyTransform(map);
14109
14584
  }
14110
14585
  map.zoomTranslatePoint = map.translatePoint;
14111
14586
  this.mouseDownPoints = this.mouseMovePoints;
@@ -14117,7 +14592,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
14117
14592
  (this.distanceX / this.maps.scale)) : this.maps.translatePoint.x;
14118
14593
  this.maps.translatePoint.y = !isNullOrUndefined(this.distanceY) ? this.maps.translatePoint.y -
14119
14594
  (this.distanceY / this.maps.scale) : this.maps.translatePoint.y;
14120
- this.applyTransform(false);
14595
+ this.applyTransform(this.maps, false);
14121
14596
  };
14122
14597
  Zoom.prototype.toolBarZooming = function (zoomFactor, type) {
14123
14598
  var _this = this;
@@ -14147,18 +14622,36 @@ var Zoom = /** @__PURE__ @class */ (function () {
14147
14622
  var max = map.baseMapRectBounds['max'];
14148
14623
  var mapWidth = Math.abs(max['x'] - min['x']);
14149
14624
  var mapHeight = Math.abs(min['y'] - max['y']);
14150
- var translatePointX = translatePoint.x - (((size.width / scale) - (size.width / zoomFactor)) / 2);
14151
- var translatePointY = translatePoint.y - (((size.height / scale) - (size.height / zoomFactor)) / 2);
14152
- var currentHeight = Math.abs(map.baseMapRectBounds['max']['y'] - map.baseMapRectBounds['min']['y']) * zoomFactor;
14153
- translatePointX = (currentHeight < map.mapAreaRect.height) ? (size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2))))
14154
- : translatePointX;
14155
- translatePointY = (currentHeight < map.mapAreaRect.height) ? (size.y + ((-(min['y'])) + ((size.height / 2) - (mapHeight / 2))))
14156
- : translatePointY;
14157
- map.translatePoint = new Point(translatePointX, translatePointY);
14625
+ var translatePointX = void 0;
14626
+ var translatePointY = void 0;
14627
+ if (zoomFactor < 1.2 && map.projectionType !== 'Eckert5') {
14628
+ if (mapHeight === 0 || mapWidth === 0 || mapHeight === mapWidth) {
14629
+ mapWidth = size.width / 2;
14630
+ mapHeight = size.height;
14631
+ }
14632
+ zoomFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
14633
+ zoomFactor = zoomFactor > 1.05 ? 1 : zoomFactor;
14634
+ map.translatePoint = this.calculateInitalZoomTranslatePoint(zoomFactor, mapWidth, mapHeight, size, min, map);
14635
+ }
14636
+ else {
14637
+ translatePointX = translatePoint.x - (((size.width / scale) - (size.width / zoomFactor)) / 2);
14638
+ translatePointY = translatePoint.y - (((size.height / scale) - (size.height / zoomFactor)) / 2);
14639
+ var currentHeight = Math.abs(map.baseMapRectBounds['max']['y'] - map.baseMapRectBounds['min']['y']) * zoomFactor;
14640
+ translatePointX = (currentHeight < map.mapAreaRect.height) ? (size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2))))
14641
+ : translatePointX;
14642
+ translatePointY = (currentHeight < map.mapAreaRect.height) ? (size.y + ((-(min['y'])) + ((size.height / 2) - (mapHeight / 2))))
14643
+ : translatePointY;
14644
+ map.translatePoint = new Point(translatePointX, translatePointY);
14645
+ }
14158
14646
  map.zoomTranslatePoint = map.translatePoint;
14159
14647
  map.scale = zoomFactor;
14160
- this.triggerZoomEvent(prevTilePoint, prevLevel, type);
14161
- this.applyTransform(true);
14648
+ if (this.triggerZoomEvent(prevTilePoint, prevLevel, type)) {
14649
+ map.translatePoint = map.zoomTranslatePoint = map.previousPoint;
14650
+ map.scale = map.previousScale;
14651
+ }
14652
+ else {
14653
+ this.applyTransform(map, true);
14654
+ }
14162
14655
  }
14163
14656
  else if ((map.isTileMap) && ((zoomFactor >= minZoom && zoomFactor <= maxZoom) || map.isReset)) {
14164
14657
  var tileZoomFactor = prevLevel < minZoom && !map.isReset ? minZoom : zoomFactor;
@@ -14175,34 +14668,44 @@ var Zoom = /** @__PURE__ @class */ (function () {
14175
14668
  map.tileTranslatePoint.y = map.initialTileTranslate.y;
14176
14669
  tileZoomFactor = map.tileZoomLevel = map.mapScaleValue = map.initialZoomLevel;
14177
14670
  }
14178
- this.triggerZoomEvent(prevTilePoint, prevLevel, type);
14179
- map.translatePoint.y = (map.tileTranslatePoint.y - (0.01 * map.mapScaleValue)) / map.scale;
14180
- map.translatePoint.x = (map.tileTranslatePoint.x - (0.01 * map.mapScaleValue)) / map.scale;
14181
- if (document.getElementById(this.maps.element.id + '_LayerIndex_1')) {
14182
- document.getElementById(this.maps.element.id + '_LayerIndex_1').style.display = 'none';
14183
- }
14184
- if (document.querySelector('.GroupElement')) {
14185
- document.querySelector('.GroupElement').style.display = 'none';
14671
+ if (this.triggerZoomEvent(prevTilePoint, prevLevel, type)) {
14672
+ map.translatePoint = map.tileTranslatePoint = new Point(0, 0);
14673
+ map.scale = map.previousScale;
14674
+ map.tileZoomLevel = prevLevel;
14675
+ map.zoomSettings.zoomFactor = map.previousScale;
14186
14676
  }
14187
- this.markerLineAnimation(map);
14188
- map.mapLayerPanel.generateTiles(tileZoomFactor, map.tileTranslatePoint, type);
14189
- var element1 = document.getElementById(this.maps.element.id + '_tiles');
14190
- var animationDuration = this.maps.layersCollection[0].animationDuration;
14191
- setTimeout(function () {
14192
- _this.applyTransform(true);
14193
- if (document.getElementById(_this.maps.element.id + '_LayerIndex_1')) {
14194
- document.getElementById(_this.maps.element.id + '_LayerIndex_1').style.display = 'block';
14677
+ else {
14678
+ map.translatePoint.y = (map.tileTranslatePoint.y - (0.01 * map.mapScaleValue)) / map.scale;
14679
+ map.translatePoint.x = (map.tileTranslatePoint.x - (0.01 * map.mapScaleValue)) / map.scale;
14680
+ if (document.getElementById(this.maps.element.id + '_LayerIndex_1')) {
14681
+ document.getElementById(this.maps.element.id + '_LayerIndex_1').style.display = 'none';
14195
14682
  }
14196
- }, animationDuration);
14683
+ if (document.querySelector('.GroupElement')) {
14684
+ document.querySelector('.GroupElement').style.display = 'none';
14685
+ }
14686
+ this.markerLineAnimation(map);
14687
+ map.mapLayerPanel.generateTiles(tileZoomFactor, map.tileTranslatePoint, type);
14688
+ var element1 = document.getElementById(this.maps.element.id + '_tiles');
14689
+ var animationDuration = this.maps.layersCollection[0].animationDuration;
14690
+ setTimeout(function () {
14691
+ _this.applyTransform(_this.maps, true);
14692
+ if (document.getElementById(_this.maps.element.id + '_LayerIndex_1')) {
14693
+ document.getElementById(_this.maps.element.id + '_LayerIndex_1').style.display = 'block';
14694
+ }
14695
+ _this.maps.isAddLayer = false;
14696
+ }, animationDuration);
14697
+ }
14197
14698
  }
14198
14699
  this.maps.zoomNotApplied = false;
14199
14700
  }
14200
14701
  };
14201
14702
  Zoom.prototype.createZoomingToolbars = function () {
14202
14703
  var map = this.maps;
14704
+ var zoomInElements;
14705
+ var zoomOutElements;
14203
14706
  this.toolBarGroup = map.renderer.createGroup({
14204
14707
  id: map.element.id + '_Zooming_KitCollection',
14205
- opacity: map.theme.toLowerCase() === 'fluentuidark' ? 0.6 : 0.3
14708
+ opacity: map.theme.toLowerCase() === 'fluentdark' ? 0.6 : 0.3
14206
14709
  });
14207
14710
  var kitHeight = 16;
14208
14711
  var kitWidth = 16;
@@ -14217,7 +14720,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
14217
14720
  var toolBarLength = map.zoomSettings.toolbars.length;
14218
14721
  var toolWidth = (map.zoomSettings.toolBarOrientation === 'Horizontal') ? (toolBarLength * kitWidth) + (toolBarLength * padding) : (kitWidth * 2);
14219
14722
  var toolHeight = (map.zoomSettings.toolBarOrientation === 'Horizontal') ? (kitHeight * 2) : (toolBarLength * kitHeight) + (toolBarLength * padding);
14220
- this.toolBarGroup.appendChild(map.renderer.drawRectangle(new RectOption(map.element.id + '_Zooming_Rect', 'transparent', { color: 'transparent', width: 1 }, 1, new Rect(0, 0, toolWidth, toolHeight), 0, 0)));
14221
14723
  var defElement = map.renderer.createDefs();
14222
14724
  defElement.innerHTML = shadowElement;
14223
14725
  this.toolBarGroup.appendChild(defElement);
@@ -14266,13 +14768,13 @@ var Zoom = /** @__PURE__ @class */ (function () {
14266
14768
  case 'zoomin':
14267
14769
  direction = 'M 8, 0 L 8, 16 M 0, 8 L 16, 8';
14268
14770
  this.currentToolbarEle.appendChild(map.renderer.drawPath(new PathOption(map.element.id + '_Zooming_ToolBar_' + toolbar_1 + '_Path', fill, 3, this.maps.themeStyle.zoomFillColor, 1, 1, null, direction)));
14269
- this.zoomInElements = this.currentToolbarEle;
14771
+ zoomInElements = this.currentToolbarEle;
14270
14772
  this.wireEvents(this.currentToolbarEle, this.performToolBarAction);
14271
14773
  break;
14272
14774
  case 'zoomout':
14273
14775
  direction = 'M 0, 8 L 16, 8';
14274
14776
  this.currentToolbarEle.appendChild(map.renderer.drawPath(new PathOption(map.element.id + '_Zooming_ToolBar_' + toolbar_1, fill, 3, this.maps.themeStyle.zoomFillColor, 1, 1, null, direction)));
14275
- this.zoomOutElements = this.currentToolbarEle;
14777
+ zoomOutElements = this.currentToolbarEle;
14276
14778
  this.wireEvents(this.currentToolbarEle, this.performToolBarAction);
14277
14779
  break;
14278
14780
  case 'pan': {
@@ -14457,7 +14959,12 @@ var Zoom = /** @__PURE__ @class */ (function () {
14457
14959
  x = (size.width / 2) - (toolBarSize.width / 2);
14458
14960
  break;
14459
14961
  case 'Far':
14460
- x = (size.width - toolBarSize.width) - padding;
14962
+ if (!isNullOrUndefined(map.legendModule) && map.legendSettings.position === 'Left') {
14963
+ x = size.width + size.x - toolBarSize.width - padding;
14964
+ }
14965
+ else {
14966
+ x = (size.width - toolBarSize.width) - padding;
14967
+ }
14461
14968
  break;
14462
14969
  }
14463
14970
  var extraPosition = map.getExtraPosition();
@@ -14513,6 +15020,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
14513
15020
  }
14514
15021
  else {
14515
15022
  map.mapScaleValue = value - delta;
15023
+ map.isReset = (map.mapScaleValue < 1) ? true : false;
14516
15024
  map.staticMapZoom = map.tileZoomLevel;
14517
15025
  if (map.mapScaleValue === 1) {
14518
15026
  map.markerCenterLatitude = null;
@@ -14606,14 +15114,14 @@ var Zoom = /** @__PURE__ @class */ (function () {
14606
15114
  if (document.getElementById(map.element.id + '_Zooming_ToolBar_Pan_Group')) {
14607
15115
  if (!this.maps.zoomSettings.enablePanning) {
14608
15116
  if (target.id.indexOf('_Zooming_ToolBar') > -1 || target.id.indexOf('_Zooming_Rect') > -1) {
14609
- getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
14610
- getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
15117
+ getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', map.theme.toLowerCase() === 'fluentdark' ? '0.6' : '0.3');
15118
+ getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', map.theme.toLowerCase() === 'fluentdark' ? '0.6' : '0.3');
14611
15119
  }
14612
15120
  }
14613
15121
  }
14614
15122
  }
14615
15123
  else {
14616
- getElementByID(map.element.id + '_Zooming_KitCollection').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
15124
+ getElementByID(map.element.id + '_Zooming_KitCollection').setAttribute('opacity', map.theme.toLowerCase() === 'fluentdark' ? '0.6' : '0.3');
14617
15125
  if (!this.maps.zoomSettings.enablePanning && document.getElementById(map.element.id + '_Zooming_ToolBar_Pan_Group')) {
14618
15126
  getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', '1');
14619
15127
  getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', '1');
@@ -14763,15 +15271,30 @@ var Zoom = /** @__PURE__ @class */ (function () {
14763
15271
  /**
14764
15272
  * To destroy the zoom.
14765
15273
  *
14766
- * @param {Maps} maps - Specifies the instance of the maps.
14767
15274
  * @returns {void}
14768
15275
  * @private
14769
15276
  */
14770
- Zoom.prototype.destroy = function (maps) {
15277
+ Zoom.prototype.destroy = function () {
15278
+ this.toolBarGroup = null;
15279
+ this.currentToolbarEle = null;
15280
+ this.zoomingRect = null;
15281
+ this.zoomElements = null;
15282
+ this.panElements = null;
15283
+ this.baseTranslatePoint = null;
15284
+ this.touchStartList = null;
15285
+ this.touchMoveList = null;
15286
+ this.previousTouchMoveList = null;
15287
+ this.mouseDownPoints = null;
15288
+ this.mouseMovePoints = null;
15289
+ this.startTouches = [];
15290
+ this.zoomshapewidth = null;
15291
+ this.intersect = [];
15292
+ this.mouseDownLatLong = null;
15293
+ this.mouseMoveLatLong = null;
14771
15294
  this.removeEventListener();
14772
- /**
14773
- * Destroy method performed here
14774
- */
15295
+ //TODO: Calling the below code throws spec issue.
15296
+ //this.maps = null;
15297
+ this.currentLayer = null;
14775
15298
  };
14776
15299
  return Zoom;
14777
15300
  }());
@@ -14789,7 +15312,6 @@ var Print = /** @__PURE__ @class */ (function () {
14789
15312
  * @param {Maps} control - Specifies the instance of the map
14790
15313
  */
14791
15314
  function Print(control) {
14792
- this.control = control;
14793
15315
  }
14794
15316
  /**
14795
15317
  * To print the Maps
@@ -14798,17 +15320,16 @@ var Print = /** @__PURE__ @class */ (function () {
14798
15320
  * @returns {void}
14799
15321
  * @private
14800
15322
  */
14801
- Print.prototype.print = function (elements) {
14802
- var _this = this;
14803
- this.printWindow = window.open('', 'print', 'height=' + window.outerHeight + ',width=' + window.outerWidth + ',tabbar=no');
14804
- this.printWindow.moveTo(0, 0);
14805
- this.printWindow.resizeTo(screen.availWidth, screen.availHeight);
15323
+ Print.prototype.print = function (maps, elements) {
15324
+ var printWindow = window.open('', 'print', 'height=' + window.outerHeight + ',width=' + window.outerWidth + ',tabbar=no');
15325
+ printWindow.moveTo(0, 0);
15326
+ printWindow.resizeTo(screen.availWidth, screen.availHeight);
14806
15327
  var argsData = {
14807
- cancel: false, htmlContent: this.getHTMLContent(elements), name: beforePrint
15328
+ cancel: false, htmlContent: this.getHTMLContent(maps, elements), name: beforePrint
14808
15329
  };
14809
- this.control.trigger('beforePrint', argsData, function (beforePrintArgs) {
15330
+ maps.trigger('beforePrint', argsData, function (beforePrintArgs) {
14810
15331
  if (!argsData.cancel) {
14811
- print(argsData.htmlContent, _this.printWindow);
15332
+ print(argsData.htmlContent, printWindow);
14812
15333
  }
14813
15334
  });
14814
15335
  };
@@ -14819,10 +15340,29 @@ var Print = /** @__PURE__ @class */ (function () {
14819
15340
  * @returns {Element} - Returns the div element
14820
15341
  * @private
14821
15342
  */
14822
- Print.prototype.getHTMLContent = function (elements) {
14823
- var elementRect = getClientElement(this.control.element.id);
15343
+ Print.prototype.getHTMLContent = function (maps, elements) {
14824
15344
  var div = createElement('div');
14825
- div.setAttribute("style", "margin-top:" + elementRect["top"] + "px");
15345
+ var divElement = maps.element.cloneNode(true);
15346
+ if (maps.isTileMap) {
15347
+ for (var i = 0; i < divElement.childElementCount; i++) {
15348
+ if (divElement.children[i].id === maps.element.id + '_tile_parent') {
15349
+ divElement.children[i].style.removeProperty('height');
15350
+ divElement.children[i].style.removeProperty('width');
15351
+ divElement.children[i].style.removeProperty('top');
15352
+ divElement.children[i].style.removeProperty('left');
15353
+ divElement.children[i].style.removeProperty('right');
15354
+ divElement.children[i].style.removeProperty('overflow');
15355
+ var svgElement = document.getElementById(maps.element.id + '_Tile_SVG_Parent');
15356
+ divElement.children[i].children[0].style.overflow = 'hidden';
15357
+ divElement.children[i].children[0].style.position = 'absolute';
15358
+ divElement.children[i].children[0].style.height = svgElement.style.height;
15359
+ divElement.children[i].children[0].style.width = svgElement.style.width;
15360
+ divElement.children[i].children[0].style.left = svgElement.style.left;
15361
+ divElement.children[i].children[0].style.top = svgElement.style.top;
15362
+ break;
15363
+ }
15364
+ }
15365
+ }
14826
15366
  if (elements) {
14827
15367
  if (elements instanceof Array) {
14828
15368
  Array.prototype.forEach.call(elements, function (value) {
@@ -14837,7 +15377,7 @@ var Print = /** @__PURE__ @class */ (function () {
14837
15377
  }
14838
15378
  }
14839
15379
  else {
14840
- div.appendChild(this.control.element.cloneNode(true));
15380
+ div.appendChild(divElement);
14841
15381
  }
14842
15382
  return div;
14843
15383
  };
@@ -14852,15 +15392,10 @@ var Print = /** @__PURE__ @class */ (function () {
14852
15392
  /**
14853
15393
  * To destroy the print.
14854
15394
  *
14855
- * @param {Maps} maps - Specifies the instance of the maps
14856
15395
  * @returns {void}
14857
15396
  * @private
14858
15397
  */
14859
- Print.prototype.destroy = function (maps) {
14860
- /**
14861
- * Destroy method performed here
14862
- */
14863
- };
15398
+ Print.prototype.destroy = function () { };
14864
15399
  return Print;
14865
15400
  }());
14866
15401
 
@@ -14877,7 +15412,6 @@ var ImageExport = /** @__PURE__ @class */ (function () {
14877
15412
  * @param {Maps} control - Specifies the instance of the map
14878
15413
  */
14879
15414
  function ImageExport(control) {
14880
- this.control = control;
14881
15415
  }
14882
15416
  /**
14883
15417
  * To export the file as image/svg format
@@ -14888,30 +15422,28 @@ var ImageExport = /** @__PURE__ @class */ (function () {
14888
15422
  * @returns {Promise<string>} - Returns the promise string.
14889
15423
  * @private
14890
15424
  */
14891
- ImageExport.prototype.export = function (type, fileName, allowDownload) {
14892
- var _this = this;
15425
+ ImageExport.prototype.export = function (maps, type, fileName, allowDownload) {
14893
15426
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14894
15427
  var promise = new Promise(function (resolve, reject) {
14895
15428
  var imageCanvasElement = createElement('canvas', {
14896
15429
  id: 'ej2-canvas',
14897
15430
  attrs: {
14898
- 'width': _this.control.availableSize.width.toString(),
14899
- 'height': _this.control.availableSize.height.toString()
15431
+ 'width': maps.availableSize.width.toString(),
15432
+ 'height': maps.availableSize.height.toString()
14900
15433
  }
14901
15434
  });
14902
15435
  var isDownload = !(Browser.userAgent.toString().indexOf('HeadlessChrome') > -1);
14903
- var toolbarEle = document.getElementById(_this.control.element.id + '_ToolBar');
14904
- var svgParent = document.getElementById(_this.control.element.id + '_Tile_SVG_Parent');
14905
- var tileParent = document.getElementById(_this.control.element.id + '_tile_parent');
15436
+ var toolbarEle = document.getElementById(maps.element.id + '_ToolBar');
15437
+ var svgParent = document.getElementById(maps.element.id + '_Tile_SVG_Parent');
14906
15438
  var svgDataElement;
14907
15439
  var tileSvg;
14908
- var svgObject = getElementByID(_this.control.element.id + '_svg').cloneNode(true);
14909
- if (!_this.control.isTileMap) {
15440
+ var svgObject = getElementByID(maps.element.id + '_svg').cloneNode(true);
15441
+ if (!maps.isTileMap) {
14910
15442
  svgDataElement = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">' +
14911
- _this.control.svgObject.outerHTML + '</svg>';
15443
+ maps.svgObject.outerHTML + '</svg>';
14912
15444
  }
14913
15445
  else {
14914
- tileSvg = getElementByID(_this.control.element.id + '_Tile_SVG').cloneNode(true);
15446
+ tileSvg = getElementByID(maps.element.id + '_Tile_SVG').cloneNode(true);
14915
15447
  svgDataElement = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">' +
14916
15448
  svgObject.outerHTML + tileSvg.outerHTML + '</svg>';
14917
15449
  }
@@ -14928,7 +15460,7 @@ var ImageExport = /** @__PURE__ @class */ (function () {
14928
15460
  else {
14929
15461
  var image_1 = new Image();
14930
15462
  var ctxt_1 = imageCanvasElement.getContext('2d');
14931
- if (!_this.control.isTileMap) {
15463
+ if (!maps.isTileMap) {
14932
15464
  image_1.onload = (function () {
14933
15465
  ctxt_1.drawImage(image_1, 0, 0);
14934
15466
  window.URL.revokeObjectURL(url);
@@ -14947,35 +15479,37 @@ var ImageExport = /** @__PURE__ @class */ (function () {
14947
15479
  image_1.src = url;
14948
15480
  }
14949
15481
  else {
14950
- var extraSpace_1 = getClientElement(_this.control.element.id);
15482
+ var svgParentElement = document.getElementById(maps.element.id + '_MapAreaBorder');
15483
+ var top_1 = parseFloat(svgParentElement.getAttribute('y'));
15484
+ var left_1 = parseFloat(svgParentElement.getAttribute('x'));
14951
15485
  var imgxHttp = new XMLHttpRequest();
14952
- var imgTileLength_1 = _this.control.mapLayerPanel.tiles.length;
15486
+ var imgTileLength_1 = maps.mapLayerPanel.tiles.length;
14953
15487
  var _loop_1 = function (i) {
14954
- var tile = document.getElementById(_this.control.element.id + '_tile_' + (i - 1));
15488
+ var tile = document.getElementById(maps.element.id + '_tile_' + (i - 1));
14955
15489
  var exportTileImg = new Image();
14956
15490
  exportTileImg.crossOrigin = 'Anonymous';
14957
- ctxt_1.fillStyle = _this.control.background ? _this.control.background : '#FFFFFF';
14958
- ctxt_1.fillRect(0, 0, _this.control.availableSize.width, _this.control.availableSize.height);
14959
- ctxt_1.font = _this.control.titleSettings.textStyle.size + ' Arial';
14960
- var titleElement = document.getElementById(_this.control.element.id + '_Map_title');
15491
+ ctxt_1.fillStyle = maps.background ? maps.background : '#FFFFFF';
15492
+ ctxt_1.fillRect(0, 0, maps.availableSize.width, maps.availableSize.height);
15493
+ ctxt_1.font = maps.titleSettings.textStyle.size + ' Arial';
15494
+ var titleElement = document.getElementById(maps.element.id + '_Map_title');
14961
15495
  if (!isNullOrUndefined(titleElement)) {
14962
15496
  ctxt_1.fillStyle = titleElement.getAttribute('fill');
14963
- ctxt_1.fillText(_this.control.titleSettings.text, parseFloat(titleElement.getAttribute('x')), parseFloat(titleElement.getAttribute('y')));
15497
+ ctxt_1.fillText(maps.titleSettings.text, parseFloat(titleElement.getAttribute('x')), parseFloat(titleElement.getAttribute('y')));
14964
15498
  }
14965
15499
  exportTileImg.onload = (function () {
14966
15500
  if (i === 0 || i === imgTileLength_1 + 1) {
14967
15501
  if (i === 0) {
14968
15502
  ctxt_1.setTransform(1, 0, 0, 1, 0, 0);
14969
- ctxt_1.rect(0, parseFloat(svgParent.style.top), parseFloat(svgParent.style.width), parseFloat(svgParent.style.height));
15503
+ ctxt_1.rect(0, top_1, parseFloat(svgParent.style.width), parseFloat(svgParent.style.height));
14970
15504
  ctxt_1.clip();
14971
15505
  }
14972
15506
  else {
14973
- ctxt_1.setTransform(1, 0, 0, 1, parseFloat(svgParent.style.left), (parseFloat(tileParent.style.top) - extraSpace_1["top"]));
15507
+ ctxt_1.setTransform(1, 0, 0, 1, left_1, top_1);
14974
15508
  }
14975
15509
  }
14976
15510
  else {
14977
- ctxt_1.setTransform(1, 0, 0, 1, parseFloat(tile.style.left) + _this.control.margin.left, parseFloat(tile.style.top) +
14978
- (parseFloat(tileParent.style.top)) - extraSpace_1["top"]);
15511
+ ctxt_1.setTransform(1, 0, 0, 1, parseFloat(tile.style.left) + left_1, parseFloat(tile.style.top) +
15512
+ top_1);
14979
15513
  }
14980
15514
  ctxt_1.drawImage(exportTileImg, 0, 0);
14981
15515
  if (i === imgTileLength_1 + 1) {
@@ -15030,15 +15564,10 @@ var ImageExport = /** @__PURE__ @class */ (function () {
15030
15564
  /**
15031
15565
  * To destroy the ImageExport.
15032
15566
  *
15033
- * @param {Maps} maps - Specifies the instance of the maps.
15034
15567
  * @returns {void}
15035
15568
  * @private
15036
15569
  */
15037
- ImageExport.prototype.destroy = function (maps) {
15038
- /**
15039
- * Destroy method performed here
15040
- */
15041
- };
15570
+ ImageExport.prototype.destroy = function () { };
15042
15571
  return ImageExport;
15043
15572
  }());
15044
15573
 
@@ -15054,8 +15583,7 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15054
15583
  *
15055
15584
  * @param {Maps} control Specifies the instance of the map
15056
15585
  */
15057
- function PdfExport(control) {
15058
- this.control = control;
15586
+ function PdfExport() {
15059
15587
  }
15060
15588
  /**
15061
15589
  * To export the file as image/svg format
@@ -15067,26 +15595,24 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15067
15595
  * @returns {Promise<string>} - Returns the promise string
15068
15596
  * @private
15069
15597
  */
15070
- PdfExport.prototype.export = function (type, fileName, allowDownload, orientation) {
15071
- var _this = this;
15598
+ PdfExport.prototype.export = function (maps, type, fileName, allowDownload, orientation) {
15072
15599
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15073
15600
  var promise = new Promise(function (resolve, reject) {
15074
15601
  var canvasElement = createElement('canvas', {
15075
15602
  id: 'ej2-canvas',
15076
15603
  attrs: {
15077
- 'width': _this.control.availableSize.width.toString(),
15078
- 'height': _this.control.availableSize.height.toString()
15604
+ 'width': maps.availableSize.width.toString(),
15605
+ 'height': maps.availableSize.height.toString()
15079
15606
  }
15080
15607
  });
15081
15608
  orientation = isNullOrUndefined(orientation) ? PdfPageOrientation.Landscape : orientation;
15082
- var svgParent = document.getElementById(_this.control.element.id + '_Tile_SVG_Parent');
15609
+ var svgParent = document.getElementById(maps.element.id + '_Tile_SVG_Parent');
15083
15610
  var svgData;
15084
- var exportElement = _this.control.svgObject.cloneNode(true);
15085
- var tileParent = document.getElementById(_this.control.element.id + '_tile_parent');
15611
+ var exportElement = maps.svgObject.cloneNode(true);
15086
15612
  var backgroundElement = exportElement.childNodes[0];
15087
15613
  var backgroundColor = backgroundElement.getAttribute('fill');
15088
- if ((_this.control.theme === 'Tailwind' || _this.control.theme === 'TailwindDark' || _this.control.theme === 'Bootstrap5' || _this.control.theme === 'Bootstrap5Dark')
15089
- && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
15614
+ if ((maps.theme === 'Tailwind' || maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5' || maps.theme === 'Bootstrap5Dark'
15615
+ || maps.theme === 'Fluent' || maps.theme === 'FluentDark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
15090
15616
  exportElement.childNodes[0].setAttribute('fill', 'rgba(255,255,255, 1)');
15091
15617
  }
15092
15618
  var url = window.URL.createObjectURL(new Blob(type === 'SVG' ? [svgData] :
@@ -15094,7 +15620,7 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15094
15620
  var pdfDocument = new PdfDocument();
15095
15621
  var image = new Image();
15096
15622
  var ctx = canvasElement.getContext('2d');
15097
- if (!_this.control.isTileMap) {
15623
+ if (!maps.isTileMap) {
15098
15624
  image.onload = (function () {
15099
15625
  ctx.drawImage(image, 0, 0);
15100
15626
  window.URL.revokeObjectURL(url);
@@ -15102,7 +15628,7 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15102
15628
  var imageString = canvasElement.toDataURL('image/jpeg').replace('image/jpeg', 'image/octet-stream');
15103
15629
  pdfDocument.pageSettings.orientation = orientation;
15104
15630
  imageString = imageString.slice(imageString.indexOf(',') + 1);
15105
- pdfDocument.pages.add().graphics.drawImage(new PdfBitmap(imageString), 0, 0, (_this.control.availableSize.width - 60), _this.control.availableSize.height);
15631
+ pdfDocument.pages.add().graphics.drawImage(new PdfBitmap(imageString), 0, 0, (maps.availableSize.width - 60), maps.availableSize.height);
15106
15632
  if (allowDownload) {
15107
15633
  pdfDocument.save(fileName + '.pdf');
15108
15634
  pdfDocument.destroy();
@@ -15115,35 +15641,36 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15115
15641
  image.src = url;
15116
15642
  }
15117
15643
  else {
15118
- var extraSpace_1 = getClientElement(_this.control.element.id);
15644
+ var svgParentElement = document.getElementById(maps.element.id + '_MapAreaBorder');
15645
+ var top_1 = parseFloat(svgParentElement.getAttribute('y'));
15646
+ var left_1 = parseFloat(svgParentElement.getAttribute('x'));
15119
15647
  var xHttp = new XMLHttpRequest();
15120
- var tileLength_1 = _this.control.mapLayerPanel.tiles.length;
15648
+ var tileLength_1 = maps.mapLayerPanel.tiles.length;
15121
15649
  var _loop_1 = function (i) {
15122
- var tile = document.getElementById(_this.control.element.id + '_tile_' + (i - 1));
15650
+ var tile = document.getElementById(maps.element.id + '_tile_' + (i - 1));
15123
15651
  var tileImg = new Image();
15124
15652
  tileImg.crossOrigin = 'Anonymous';
15125
- ctx.fillStyle = _this.control.background ? _this.control.background : '#FFFFFF';
15126
- ctx.fillRect(0, 0, _this.control.availableSize.width, _this.control.availableSize.height);
15127
- ctx.font = _this.control.titleSettings.textStyle.size + ' Arial';
15128
- var titleElement = document.getElementById(_this.control.element.id + '_Map_title');
15653
+ ctx.fillStyle = maps.background ? maps.background : '#FFFFFF';
15654
+ ctx.fillRect(0, 0, maps.availableSize.width, maps.availableSize.height);
15655
+ ctx.font = maps.titleSettings.textStyle.size + ' Arial';
15656
+ var titleElement = document.getElementById(maps.element.id + '_Map_title');
15129
15657
  if (!isNullOrUndefined(titleElement)) {
15130
15658
  ctx.fillStyle = titleElement.getAttribute('fill');
15131
- ctx.fillText(_this.control.titleSettings.text, parseFloat(titleElement.getAttribute('x')), parseFloat(titleElement.getAttribute('y')));
15659
+ ctx.fillText(maps.titleSettings.text, parseFloat(titleElement.getAttribute('x')), parseFloat(titleElement.getAttribute('y')));
15132
15660
  }
15133
15661
  tileImg.onload = (function () {
15134
15662
  if (i === 0 || i === tileLength_1 + 1) {
15135
15663
  if (i === 0) {
15136
15664
  ctx.setTransform(1, 0, 0, 1, 0, 0);
15137
- ctx.rect(0, parseFloat(svgParent.style.top), parseFloat(svgParent.style.width), parseFloat(svgParent.style.height));
15665
+ ctx.rect(0, top_1, parseFloat(svgParent.style.width), parseFloat(svgParent.style.height));
15138
15666
  ctx.clip();
15139
15667
  }
15140
15668
  else {
15141
- ctx.setTransform(1, 0, 0, 1, parseFloat(svgParent.style.left), (parseFloat(tileParent.style.top) - extraSpace_1["top"]));
15669
+ ctx.setTransform(1, 0, 0, 1, left_1, top_1);
15142
15670
  }
15143
15671
  }
15144
15672
  else {
15145
- ctx.setTransform(1, 0, 0, 1, parseFloat(tile.style.left) + _this.control.margin.left, (parseFloat(tile.style.top) +
15146
- (parseFloat(tileParent.style.top)) - extraSpace_1["top"]));
15673
+ ctx.setTransform(1, 0, 0, 1, parseFloat(tile.style.left) + left_1, parseFloat(tile.style.top) + top_1);
15147
15674
  }
15148
15675
  ctx.drawImage(tileImg, 0, 0);
15149
15676
  if (i === tileLength_1 + 1) {
@@ -15152,7 +15679,7 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15152
15679
  var x = localStorage.getItem('saved-image-example');
15153
15680
  pdfDocument.pageSettings.orientation = orientation;
15154
15681
  x = x.slice(x.indexOf(',') + 1);
15155
- pdfDocument.pages.add().graphics.drawImage(new PdfBitmap(x), 0, 0, (_this.control.availableSize.width - 60), _this.control.availableSize.height);
15682
+ pdfDocument.pages.add().graphics.drawImage(new PdfBitmap(x), 0, 0, (maps.availableSize.width - 60), maps.availableSize.height);
15156
15683
  if (allowDownload) {
15157
15684
  pdfDocument.save(fileName + '.pdf');
15158
15685
  pdfDocument.destroy();
@@ -15169,7 +15696,7 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15169
15696
  }
15170
15697
  else {
15171
15698
  setTimeout(function () {
15172
- var tileSvg = document.getElementById(_this.control.element.id + '_Tile_SVG');
15699
+ var tileSvg = document.getElementById(maps.element.id + '_Tile_SVG');
15173
15700
  tileImg.src = window.URL.createObjectURL(new Blob([(new XMLSerializer()).serializeToString(tileSvg)], { type: 'image/svg+xml' }));
15174
15701
  }, 300);
15175
15702
  }
@@ -15196,17 +15723,12 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15196
15723
  return 'PdfExport';
15197
15724
  };
15198
15725
  /**
15199
- * To destroy the PdfExports.
15726
+ * To destroy the PdfExport.
15200
15727
  *
15201
- * @param {Maps} maps - Specifies the instance of the maps.
15202
15728
  * @returns {void}
15203
15729
  * @private
15204
15730
  */
15205
- PdfExport.prototype.destroy = function (maps) {
15206
- /**
15207
- * Destroy method performed here
15208
- */
15209
- };
15731
+ PdfExport.prototype.destroy = function () { };
15210
15732
  return PdfExport;
15211
15733
  }());
15212
15734
 
@@ -15218,5 +15740,5 @@ var PdfExport = /** @__PURE__ @class */ (function () {
15218
15740
  * exporting all modules from maps index
15219
15741
  */
15220
15742
 
15221
- export { Maps, load, loaded, click, rightClick, doubleClick, resize, tooltipRender, shapeSelected, shapeHighlight, mousemove, mouseup, mousedown, layerRendering, shapeRendering, markerRendering, markerClusterRendering, markerClick, markerClusterClick, markerMouseMove, markerClusterMouseMove, dataLabelRendering, bubbleRendering, bubbleClick, bubbleMouseMove, animationComplete, legendRendering, annotationRendering, itemSelection, itemHighlight, beforePrint, zoomIn, zoomOut, pan, Annotation, Arrow, Font, Border, CenterPosition, TooltipSettings, Margin, ConnectorLineSettings, MarkerClusterSettings, MarkerClusterData, ColorMappingSettings, InitialMarkerSelectionSettings, InitialShapeSelectionSettings, SelectionSettings, HighlightSettings, NavigationLineSettings, BubbleSettings, CommonTitleSettings, SubTitleSettings, TitleSettings, ZoomSettings, ToggleLegendSettings, LegendSettings, DataLabelSettings, ShapeSettings, MarkerBase, MarkerSettings, LayerSettings, Tile, MapsAreaSettings, Size, stringToNumber, calculateSize, createSvg, getMousePosition, degreesToRadians, radiansToDegrees, convertGeoToPoint, convertTileLatLongToPoint, xToCoordinate, yToCoordinate, aitoff, roundTo, sinci, acos, calculateBound, triggerDownload, Point, MinMax, GeoLocation, measureText, TextOption, PathOption, ColorValue, RectOption, CircleOption, PolygonOption, PolylineOption, LineOption, Line, MapLocation, Rect, PatternOptions, renderTextElement, convertElement, formatValue, convertStringToValue, convertElementFromLabel, drawSymbols, getValueFromObject, markerColorChoose, markerShapeChoose, clusterTemplate, 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, drawSymbol, renderLegendShape, getElementOffset, changeBorderWidth, changeNavaigationLineWidth, targetTouches, calculateScale, getDistance, getTouches, getTouchCenter, sum, zoomAnimate, animate, MapAjax, smoothTranslate, compareZoomFactor, calculateZoomLevel, processResult, LayerPanel, Bubble, BingMap, Marker, ColorMapping, DataLabel, NavigationLine, Legend, Highlight, Selection, MapsTooltip, Zoom, Annotations, Print, ImageExport, PdfExport };
15743
+ export { Maps, load, loaded, click, onclick, rightClick, doubleClick, resize, tooltipRender, shapeSelected, shapeHighlight, mousemove, mouseup, mousedown, layerRendering, shapeRendering, markerRendering, markerClusterRendering, markerClick, markerClusterClick, markerMouseMove, markerClusterMouseMove, dataLabelRendering, bubbleRendering, bubbleClick, bubbleMouseMove, animationComplete, legendRendering, annotationRendering, itemSelection, itemHighlight, beforePrint, zoomIn, zoomOut, pan, Annotation, Arrow, Font, Border, CenterPosition, TooltipSettings, Margin, ConnectorLineSettings, MarkerClusterSettings, MarkerClusterData, ColorMappingSettings, InitialMarkerSelectionSettings, InitialShapeSelectionSettings, SelectionSettings, HighlightSettings, NavigationLineSettings, BubbleSettings, CommonTitleSettings, SubTitleSettings, TitleSettings, ZoomSettings, ToggleLegendSettings, LegendSettings, DataLabelSettings, ShapeSettings, MarkerBase, MarkerSettings, LayerSettings, Tile, MapsAreaSettings, Size, stringToNumber, calculateSize, createSvg, getMousePosition, degreesToRadians, radiansToDegrees, convertGeoToPoint, convertTileLatLongToPoint, xToCoordinate, yToCoordinate, aitoff, roundTo, sinci, acos, calculateBound, triggerDownload, Point, MinMax, GeoLocation, measureText, TextOption, PathOption, ColorValue, RectOption, CircleOption, PolygonOption, PolylineOption, LineOption, Line, MapLocation, Rect, PatternOptions, renderTextElement, convertElement, formatValue, convertStringToValue, convertElementFromLabel, drawSymbols, getValueFromObject, markerColorChoose, markerShapeChoose, clusterTemplate, 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, drawSymbol, renderLegendShape, getElementOffset, changeBorderWidth, changeNavaigationLineWidth, targetTouches, calculateScale, getDistance, getTouches, getTouchCenter, sum, zoomAnimate, animate, MapAjax, smoothTranslate, compareZoomFactor, calculateZoomLevel, processResult, LayerPanel, Bubble, BingMap, Marker, ColorMapping, DataLabel, NavigationLine, Legend, Highlight, Selection, MapsTooltip, Zoom, Annotations, Print, ImageExport, PdfExport };
15222
15744
  //# sourceMappingURL=ej2-maps.es5.js.map