@syncfusion/ej2-maps 19.4.53 → 19.4.56-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 -422
  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 +1220 -653
  9. package/dist/es6/ej2-maps.es2015.js.map +1 -1
  10. package/dist/es6/ej2-maps.es5.js +1258 -692
  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 +25 -3
  58. package/src/maps/maps.js +179 -106
  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 +34 -33
  66. package/src/maps/model/export-pdf.d.ts +4 -6
  67. package/src/maps/model/export-pdf.js +31 -32
  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 +32 -18
  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 +9 -1
  84. package/src/maps/utils/helper.js +82 -33
@@ -1,8 +1,8 @@
1
1
  define(["require", "exports", "./maps-helper"], function (require, exports, maps_helper_1) {
2
2
  "use strict";
3
- function __export(m) {
4
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
5
- }
3
+ function __export(m) {
4
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
5
+ }
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  __export(maps_helper_1);
8
8
  });
@@ -1,16 +1,16 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ extendStatics(d, b);
10
+ function __() { this.constructor = d; }
11
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
+ };
13
+ })();
14
14
  define(["require", "exports", "@syncfusion/ej2-base/helpers/e2e"], function (require, exports, e2e_1) {
15
15
  "use strict";
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
package/license CHANGED
@@ -1,10 +1,10 @@
1
- Essential JS 2 library is available under the Syncfusion Essential Studio program, and can be licensed either under the Syncfusion Community License Program or the Syncfusion commercial license.
2
-
3
- To be qualified for the Syncfusion Community License Program you must have a gross revenue of less than one (1) million U.S. dollars ($1,000,000.00 USD) per year and have less than five (5) developers in your organization, and agree to be bound by Syncfusion’s terms and conditions.
4
-
5
- Customers who do not qualify for the community license can contact sales@syncfusion.com for commercial licensing options.
6
-
7
- Under no circumstances can you use this product without (1) either a Community License or a commercial license and (2) without agreeing and abiding by Syncfusion’s license containing all terms and conditions.
8
-
9
- The Syncfusion license that contains the terms and conditions can be found at
1
+ Essential JS 2 library is available under the Syncfusion Essential Studio program, and can be licensed either under the Syncfusion Community License Program or the Syncfusion commercial license.
2
+
3
+ To be qualified for the Syncfusion Community License Program you must have a gross revenue of less than one (1) million U.S. dollars ($1,000,000.00 USD) per year and have less than five (5) developers in your organization, and agree to be bound by Syncfusion’s terms and conditions.
4
+
5
+ Customers who do not qualify for the community license can contact sales@syncfusion.com for commercial licensing options.
6
+
7
+ Under no circumstances can you use this product without (1) either a Community License or a commercial license and (2) without agreeing and abiding by Syncfusion’s license containing all terms and conditions.
8
+
9
+ The Syncfusion license that contains the terms and conditions can be found at
10
10
  https://www.syncfusion.com/content/downloads/syncfusion_license.pdf
package/package.json CHANGED
@@ -1,85 +1,85 @@
1
- {
2
- "_from": "@syncfusion/ej2-maps@*",
3
- "_id": "@syncfusion/ej2-maps@19.4.52",
4
- "_inBundle": false,
5
- "_integrity": "sha512-Q3dgzt8U6/MscnIZhcV06J6ko+xSj8qO+ElAQQjaWqHsH6bnFksBP7YJw645z3QxW80AaspnYKux8qXiKOJiNA==",
6
- "_location": "/@syncfusion/ej2-maps",
7
- "_phantomChildren": {},
8
- "_requested": {
9
- "type": "range",
10
- "registry": true,
11
- "raw": "@syncfusion/ej2-maps@*",
12
- "name": "@syncfusion/ej2-maps",
13
- "escapedName": "@syncfusion%2fej2-maps",
14
- "scope": "@syncfusion",
15
- "rawSpec": "*",
16
- "saveSpec": null,
17
- "fetchSpec": "*"
18
- },
19
- "_requiredBy": [
20
- "/",
21
- "/@syncfusion/ej2",
22
- "/@syncfusion/ej2-angular-maps",
23
- "/@syncfusion/ej2-react-maps",
24
- "/@syncfusion/ej2-vue-maps"
25
- ],
26
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-maps/-/ej2-maps-19.4.52.tgz",
27
- "_shasum": "0603d44e6c0df8ee903e1ee94f463fec63ac696b",
28
- "_spec": "@syncfusion/ej2-maps@*",
29
- "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
- "author": {
31
- "name": "Syncfusion Inc."
32
- },
33
- "bugs": {
34
- "url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues"
35
- },
36
- "bundleDependencies": false,
37
- "dependencies": {
38
- "@syncfusion/ej2-base": "~19.4.52",
39
- "@syncfusion/ej2-buttons": "~19.4.53",
40
- "@syncfusion/ej2-compression": "~19.4.52",
41
- "@syncfusion/ej2-data": "~19.4.52",
42
- "@syncfusion/ej2-file-utils": "~19.4.52",
43
- "@syncfusion/ej2-pdf-export": "~19.4.52",
44
- "@syncfusion/ej2-svg-base": "~19.4.52"
45
- },
46
- "deprecated": false,
47
- "description": "The Maps component is used to visualize the geographical data and represent the statistical data of a particular geographical area on earth with user interactivity, and provides various customizing options",
48
- "devDependencies": {},
49
- "es2015": "./dist/es6/ej2-maps.es2015.js",
50
- "homepage": "https://github.com/syncfusion/ej2-javascript-ui-controls#readme",
51
- "keywords": [
52
- "ej2",
53
- "syncfusion",
54
- "web-components",
55
- "ej2-maps",
56
- "typescript",
57
- "maps",
58
- "shape-data",
59
- "OSM",
60
- "projection",
61
- "bubble",
62
- "color-mapping",
63
- "marker",
64
- "data-label",
65
- "navigation-line",
66
- "legend",
67
- "tooltip",
68
- "zooming",
69
- "panning",
70
- "drilldown",
71
- "annotation",
72
- "custom-shapes"
73
- ],
74
- "license": "SEE LICENSE IN license",
75
- "main": "./dist/ej2-maps.umd.min.js",
76
- "module": "./index.js",
77
- "name": "@syncfusion/ej2-maps",
78
- "repository": {
79
- "type": "git",
80
- "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
81
- },
82
- "typings": "index.d.ts",
83
- "version": "19.4.53",
84
- "sideEffects": false
85
- }
1
+ {
2
+ "_from": "@syncfusion/ej2-maps@*",
3
+ "_id": "@syncfusion/ej2-maps@19.4.55",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-q9a3UHN4IPE+Dj7luY6xOJVNcEKEpTSLOkaXdJdNxCf883wYbcX5oTu88Ab2Pbj8tIPwPJuvt5bt8b7bfBPJ/A==",
6
+ "_location": "/@syncfusion/ej2-maps",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "range",
10
+ "registry": true,
11
+ "raw": "@syncfusion/ej2-maps@*",
12
+ "name": "@syncfusion/ej2-maps",
13
+ "escapedName": "@syncfusion%2fej2-maps",
14
+ "scope": "@syncfusion",
15
+ "rawSpec": "*",
16
+ "saveSpec": null,
17
+ "fetchSpec": "*"
18
+ },
19
+ "_requiredBy": [
20
+ "/",
21
+ "/@syncfusion/ej2",
22
+ "/@syncfusion/ej2-angular-maps",
23
+ "/@syncfusion/ej2-react-maps",
24
+ "/@syncfusion/ej2-vue-maps"
25
+ ],
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-maps/-/ej2-maps-19.4.55.tgz",
27
+ "_shasum": "68aeba0a91caa2c3c4aa2d6d01c2bc2e163e692c",
28
+ "_spec": "@syncfusion/ej2-maps@*",
29
+ "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
+ "author": {
31
+ "name": "Syncfusion Inc."
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues"
35
+ },
36
+ "bundleDependencies": false,
37
+ "dependencies": {
38
+ "@syncfusion/ej2-base": "~19.4.52",
39
+ "@syncfusion/ej2-buttons": "~19.4.55",
40
+ "@syncfusion/ej2-compression": "~19.4.52",
41
+ "@syncfusion/ej2-data": "~19.4.54",
42
+ "@syncfusion/ej2-file-utils": "~19.4.52",
43
+ "@syncfusion/ej2-pdf-export": "~19.4.52",
44
+ "@syncfusion/ej2-svg-base": "~19.4.52"
45
+ },
46
+ "deprecated": false,
47
+ "description": "The Maps component is used to visualize the geographical data and represent the statistical data of a particular geographical area on earth with user interactivity, and provides various customizing options",
48
+ "devDependencies": {},
49
+ "es2015": "./dist/es6/ej2-maps.es2015.js",
50
+ "homepage": "https://github.com/syncfusion/ej2-javascript-ui-controls#readme",
51
+ "keywords": [
52
+ "ej2",
53
+ "syncfusion",
54
+ "web-components",
55
+ "ej2-maps",
56
+ "typescript",
57
+ "maps",
58
+ "shape-data",
59
+ "OSM",
60
+ "projection",
61
+ "bubble",
62
+ "color-mapping",
63
+ "marker",
64
+ "data-label",
65
+ "navigation-line",
66
+ "legend",
67
+ "tooltip",
68
+ "zooming",
69
+ "panning",
70
+ "drilldown",
71
+ "annotation",
72
+ "custom-shapes"
73
+ ],
74
+ "license": "SEE LICENSE IN license",
75
+ "main": "./dist/ej2-maps.umd.min.js",
76
+ "module": "./index.js",
77
+ "name": "@syncfusion/ej2-maps",
78
+ "repository": {
79
+ "type": "git",
80
+ "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
81
+ },
82
+ "typings": "index.d.ts",
83
+ "version": "19.4.56-105067",
84
+ "sideEffects": false
85
+ }
@@ -13,4 +13,8 @@ export declare class BingMap {
13
13
  maxZoom: string;
14
14
  constructor(maps: Maps);
15
15
  getBingMap(tile: Tile, key: string, type: BingMapType, language: string, imageUrl: string, subDomains: string[]): string;
16
+ /**
17
+ * @private
18
+ */
19
+ destroy(): void;
16
20
  }
@@ -1,3 +1,4 @@
1
+ import { isNullOrUndefined } from '@syncfusion/ej2-base';
1
2
  /**
2
3
  * Bing map src doc
3
4
  */
@@ -19,9 +20,21 @@ var BingMap = /** @class */ (function () {
19
20
  }
20
21
  quadKey = quadKey + '' + digit;
21
22
  }
22
- var subDomain = subDomains[Math.min(parseInt(quadKey.substr(quadKey.length - 1, 1), 10), subDomains.length)];
23
- imageUrl = imageUrl.replace('{quadkey}', quadKey).replace('{subdomain}', subDomain);
24
- return imageUrl += '&mkt=' + language + '&ur=IN&Key=' + key;
23
+ if (!isNullOrUndefined(subDomains)) {
24
+ var subDomain = subDomains[Math.min(parseInt(quadKey.substr(quadKey.length - 1, 1), 10), subDomains.length)];
25
+ imageUrl = imageUrl.replace('{quadkey}', quadKey).replace('{subdomain}', subDomain);
26
+ return imageUrl += '&mkt=' + language + '&ur=IN&Key=' + key;
27
+ }
28
+ else {
29
+ return '';
30
+ }
31
+ };
32
+ /**
33
+ * @private
34
+ */
35
+ BingMap.prototype.destroy = function () {
36
+ this.maps = null;
37
+ this.subDomains = [];
25
38
  };
26
39
  return BingMap;
27
40
  }());
@@ -50,9 +50,8 @@ export declare class Bubble {
50
50
  /**
51
51
  * To destroy the bubble.
52
52
  *
53
- * @param {Maps} maps - Specifies the instance of the maps.
54
53
  * @returns {void}
55
54
  * @private
56
55
  */
57
- destroy(maps: Maps): void;
56
+ destroy(): void;
58
57
  }
@@ -65,12 +65,8 @@ var Bubble = /** @class */ (function () {
65
65
  isNaN(shapeData[layer.shapeDataPath]) ? shapeData[layer.shapeDataPath].toLowerCase() : shapeData[layer.shapeDataPath];
66
66
  var shapePathValue = !isNullOrUndefined(shape[shapePath]) && isNaN(shape[shapePath])
67
67
  ? shape[shapePath].toLowerCase() : shape[shapePath];
68
- if (shapeDataLayerPathValue === shapePathValue && layerData[i].type !== 'LineString') {
69
- if (layerData[i]['type'] === 'Point') {
70
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
- shapePoints.push(this.getPoints(layerData[i], []));
72
- }
73
- else if (!layerData[i]['_isMultiPolygon']) {
68
+ if (shapeDataLayerPathValue === shapePathValue && (layerData[i].type !== 'LineString' && layerData[i].type !== 'MultiLineString' && layerData[i]['type'] !== 'Point' && layerData[i]['type'] !== 'MultiPoint')) {
69
+ if (!layerData[i]['_isMultiPolygon']) {
74
70
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
71
  shapePoints.push(this.getPoints(layerData[i], []));
76
72
  currentLength = shapePoints[shapePoints.length - 1].length;
@@ -154,7 +150,7 @@ var Bubble = /** @class */ (function () {
154
150
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
155
151
  var translate;
156
152
  var animate = layer.animationDuration !== 0 || isNullOrUndefined(_this.maps.zoomModule);
157
- if (_this.maps.zoomSettings.zoomFactor > 1 && !isNullOrUndefined(_this.maps.zoomModule)) {
153
+ if (_this.maps.zoomSettings.zoomFactor > 1 && !isNullOrUndefined(_this.maps.zoomModule) && !_this.maps.isTileMap) {
158
154
  translate = getZoomTranslate(_this.maps, layer, animate);
159
155
  }
160
156
  else {
@@ -271,14 +267,13 @@ var Bubble = /** @class */ (function () {
271
267
  /**
272
268
  * To destroy the bubble.
273
269
  *
274
- * @param {Maps} maps - Specifies the instance of the maps.
275
270
  * @returns {void}
276
271
  * @private
277
272
  */
278
- Bubble.prototype.destroy = function (maps) {
279
- /**
280
- * Destroy method performed here
281
- */
273
+ Bubble.prototype.destroy = function () {
274
+ this.bubbleCollection = [];
275
+ //TODO: Calling the below code throws spec issue.
276
+ //this.maps = null;
282
277
  };
283
278
  return Bubble;
284
279
  }());
@@ -5,7 +5,6 @@ import { LayerSettings } from '../index';
5
5
  */
6
6
  export declare class DataLabel {
7
7
  private maps;
8
- private dataLabelObject;
9
8
  /**
10
9
  * Datalabel collections
11
10
  *
@@ -37,11 +36,9 @@ export declare class DataLabel {
37
36
  */
38
37
  protected getModuleName(): string;
39
38
  /**
40
- * To destroy the layers.
41
39
  *
42
- * @param {Maps} maps - Specifies the instance of the maps.
43
40
  * @returns {void}
44
41
  * @private
45
42
  */
46
- destroy(maps: Maps): void;
43
+ destroy(): void;
47
44
  }
@@ -98,7 +98,7 @@ var DataLabel = /** @class */ (function () {
98
98
  var shapeWidth;
99
99
  var scaleZoomValue = !isNullOrUndefined(this.maps.scale) ? Math.floor(this.maps.scale) : 1;
100
100
  var zoomLabelsPosition = this.maps.zoomSettings.enable ? !isNullOrUndefined(this.maps.zoomShapeCollection) &&
101
- this.maps.zoomShapeCollection.length > 0 : this.maps.zoomSettings.enable;
101
+ this.maps.zoomShapeCollection.length > 0 && !this.maps.isAddLayer : this.maps.zoomSettings.enable;
102
102
  this.maps.translateType = 'labels';
103
103
  for (var j = 0; j < properties.length; j++) {
104
104
  if (shapeProperties[properties[j]]) {
@@ -116,7 +116,7 @@ var DataLabel = /** @class */ (function () {
116
116
  layer.dataSource, layer.shapeDataPath, shapeData['properties'][propertyPath], layer.shapeDataPath);
117
117
  if (!isNullOrUndefined(shapes['property'])) {
118
118
  shapePoint = [[]];
119
- if (!layerData[index]['_isMultiPolygon'] && layerData[index]['type'] !== 'Point') {
119
+ if (!layerData[index]['_isMultiPolygon'] && layerData[index]['type'] !== 'Point' && layerData[index]['type'] !== 'MultiPoint') {
120
120
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
121
  shapePoint.push(this.getPoint(layerData[index], []));
122
122
  currentLength = shapePoint[shapePoint.length - 1].length;
@@ -125,21 +125,9 @@ var DataLabel = /** @class */ (function () {
125
125
  midIndex = shapePoint.length - 1;
126
126
  }
127
127
  }
128
- else {
128
+ else if (layerData[index]['type'] !== 'Point' && layerData[index]['type'] !== 'MultiPoint') {
129
129
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
130
130
  var layer_1 = layerData[index];
131
- if (layer_1['type'] === 'Point') {
132
- isPoint = true;
133
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
134
- var layerPoints = [];
135
- layerPoints.push(this.getPoint(layerData, []));
136
- shapePoint = layerPoints;
137
- currentLength = shapePoint[shapePoint.length - 1].length;
138
- if (pointsLength < currentLength) {
139
- pointsLength = currentLength;
140
- midIndex = shapePoint.length - 1;
141
- }
142
- }
143
131
  for (var j = 0; j < layer_1.length; j++) {
144
132
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
145
133
  shapePoint.push(this.getPoint(layer_1[j], []));
@@ -210,7 +198,7 @@ var DataLabel = /** @class */ (function () {
210
198
  var eventargs_1 = {
211
199
  name: dataLabelRendering, maps: this.maps, cancel: false, border: { color: dataLabel.border.color,
212
200
  width: dataLabel.border.width, opacity: dataLabel.border.opacity }, datalabel: dataLabel,
213
- fill: dataLabel.fill, template: dataLabel.template, text: text
201
+ fill: dataLabel.fill, template: dataLabel.template, text: text, offsetX: 0, offsetY: 0
214
202
  };
215
203
  this.maps.trigger('dataLabelRendering', eventargs_1, function (labelArgs) {
216
204
  if (eventargs_1.cancel) {
@@ -256,13 +244,13 @@ var DataLabel = /** @class */ (function () {
256
244
  _this.value[index] = { rightWidth: xpositionEnds, leftWidth: xpositionStart, heightTop: start, heightBottom: end };
257
245
  var labelElement;
258
246
  if (eventargs_1.template !== '') {
259
- templateFn = getTemplateFunction(eventargs_1.template);
247
+ templateFn = getTemplateFunction(eventargs_1.template, _this.maps);
260
248
  var templateElement = templateFn ? templateFn(!isNullOrUndefined(datasrcObj) ?
261
249
  datasrcObj : shapeData['properties'], _this.maps, eventargs_1.template, _this.maps.element.id + '_LabelTemplate', false) : document.createElement('div');
262
250
  templateElement.innerHTML = !templateFn ? eventargs_1.template : '';
263
251
  labelElement = convertElementFromLabel(templateElement, labelId, !isNullOrUndefined(datasrcObj) ? datasrcObj : shapeData['properties'], index, _this.maps);
264
- labelElement.style.left = ((Math.abs(_this.maps.baseMapRectBounds['min']['x'] - location['x'])) * scale) + 'px';
265
- labelElement.style.top = ((Math.abs(_this.maps.baseMapRectBounds['min']['y'] - location['y'])) * scale) + 'px';
252
+ labelElement.style.left = ((Math.abs(_this.maps.baseMapRectBounds['min']['x'] - location['x'])) * scale) + labelArgs.offsetX + 'px';
253
+ labelElement.style.top = ((Math.abs(_this.maps.baseMapRectBounds['min']['y'] - location['y'])) * scale) + labelArgs.offsetY + 'px';
266
254
  labelTemplateElement.appendChild(labelElement);
267
255
  }
268
256
  else {
@@ -350,26 +338,26 @@ var DataLabel = /** @class */ (function () {
350
338
  y = ((location['y'] + transPoint['y']) * scale) - textSize['height'] / 2;
351
339
  }
352
340
  border_1.opacity = isNullOrUndefined(border_1.opacity) ? opacity : border_1.opacity;
353
- 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);
341
+ 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);
354
342
  var rect = _this.maps.renderer.drawRectangle(rectOptions);
355
343
  group.appendChild(rect);
356
344
  }
357
345
  }
358
346
  element = renderTextElement(options, style, style.color || _this.maps.themeStyle.dataLabelFontColor, group);
359
347
  if (zoomLabelsPosition && scaleZoomValue > 1 && !_this.maps.zoomNotApplied) {
360
- element.setAttribute('transform', 'translate( ' + ((location['x'])) + ' '
361
- + (((location['y']))) + ' )');
348
+ element.setAttribute('transform', 'translate( ' + ((location['x'] + labelArgs.offsetX)) + ' '
349
+ + (((location['y'] + labelArgs.offsetY))) + ' )');
362
350
  location['x'] = locationX;
363
351
  location['y'] = locationY;
364
352
  }
365
353
  else {
366
- element.setAttribute('transform', 'translate( ' + ((location['x'] + transPoint.x) * scale) + ' '
367
- + (((location['y'] + transPoint.y) * scale) + (elementSize.height / 4)) + ' )');
354
+ element.setAttribute('transform', 'translate( ' + (((location['x'] + transPoint.x) * scale) + labelArgs.offsetX) + ' '
355
+ + ((((location['y'] + transPoint.y) * scale) + (elementSize.height / 4)) + labelArgs.offsetY) + ' )');
368
356
  }
369
357
  group.appendChild(element);
370
358
  }
371
359
  _this.dataLabelCollections.push({
372
- location: { x: location['x'], y: location['y'] },
360
+ location: { x: location['x'] + labelArgs.offsetX, y: location['y'] + labelArgs.offsetY },
373
361
  element: isNullOrUndefined(labelElement) ? element : labelElement,
374
362
  layerIndex: layerIndex,
375
363
  shapeIndex: sublayerIndexLabel ? oldIndex : index,
@@ -386,10 +374,21 @@ var DataLabel = /** @class */ (function () {
386
374
  };
387
375
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
388
376
  DataLabel.prototype.getPoint = function (shapes, points) {
389
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
390
- shapes.map(function (current, index) {
391
- points.push(new Point(current['point']['x'], current['point']['y']));
392
- });
377
+ if (shapes['type'] === 'MultiLineString') {
378
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
379
+ shapes.map(function (current) {
380
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
381
+ current.map(function (shape) {
382
+ points.push(new Point(shape['point']['x'], shape['point']['y']));
383
+ });
384
+ });
385
+ }
386
+ else {
387
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
388
+ shapes.map(function (current, index) {
389
+ points.push(new Point(current['point']['x'], current['point']['y']));
390
+ });
391
+ }
393
392
  return points;
394
393
  };
395
394
  /**
@@ -401,16 +400,14 @@ var DataLabel = /** @class */ (function () {
401
400
  return 'DataLabel';
402
401
  };
403
402
  /**
404
- * To destroy the layers.
405
403
  *
406
- * @param {Maps} maps - Specifies the instance of the maps.
407
404
  * @returns {void}
408
405
  * @private
409
406
  */
410
- DataLabel.prototype.destroy = function (maps) {
411
- /**
412
- * Destroy method performed here
413
- */
407
+ DataLabel.prototype.destroy = function () {
408
+ this.dataLabelCollections = [];
409
+ this.value = null;
410
+ this.maps = null;
414
411
  };
415
412
  return DataLabel;
416
413
  }());
@@ -14,7 +14,6 @@ export declare class LayerPanel {
14
14
  private rectBounds;
15
15
  tiles: Tile[];
16
16
  private clipRectElement;
17
- private layerGroup;
18
17
  private urlTemplate;
19
18
  private isMapCoordinates;
20
19
  private tileSvgObject;
@@ -25,6 +24,7 @@ export declare class LayerPanel {
25
24
  private animateToZoomY;
26
25
  horizontalPan: boolean;
27
26
  horizontalPanXCount: number;
27
+ layerGroup: Element;
28
28
  constructor(map: Maps);
29
29
  measureLayerPanel(): void;
30
30
  /**
@@ -39,8 +39,20 @@ export declare class LayerPanel {
39
39
  */
40
40
  renderTileLayer(panel: LayerPanel, layer: LayerSettings, layerIndex: number, bing?: BingMap): void;
41
41
  protected processLayers(layer: LayerSettings, layerIndex: number): void;
42
+ private bingMapCalculation;
42
43
  private bubbleCalculation;
43
44
  calculatePathCollection(layerIndex: number, renderData: any[]): void;
45
+ /**
46
+ * layer features as bubble, marker, datalabel, navigation line.
47
+ *
48
+ * @param {groupElement} Element - Specifies the element to append the group
49
+ * @param {pathEle} Element - Specifies the svg element
50
+ * @param {drawingType} string - Specifies the data type
51
+ * @param {currentShapeData} any - Specifies the layer of shapedata.
52
+ * @param {index} number - Specifies the tab index.
53
+ * @returns {void}
54
+ */
55
+ private pathAttributeCalculate;
44
56
  /**
45
57
  * layer features as bubble, marker, datalabel, navigation line.
46
58
  *
@@ -131,4 +143,9 @@ export declare class LayerPanel {
131
143
  * @returns {Point} - Returns point values
132
144
  */
133
145
  private panTileMap;
146
+ /**
147
+ * @returns {void}
148
+ * @private
149
+ */
150
+ destroy(): void;
134
151
  }