@syncfusion/ej2-maps 23.2.7 → 24.1.47

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 23.2.7
3
+ * version : 24.1.47
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-maps@*",
3
- "_id": "@syncfusion/ej2-maps@23.2.4",
3
+ "_id": "@syncfusion/ej2-maps@24.1.41",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-pP7nlBwjL//N7mrbliAsjf2LVrx7Dr+qkj5mHab9ekMu2UR5OwJ3GkSjL0CfYUqaTPAYjxnVXJlh4I6rMn/ZzQ==",
5
+ "_integrity": "sha512-c5WmN2YgV4LUYns8pho6Db9uQ2AOOcKtuwF50pEeJNEQGLk/iML8AG9Wm7CtxR9VvQkCt/PySZ0AkEMYv4NdXg==",
6
6
  "_location": "/@syncfusion/ej2-maps",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,10 +23,10 @@
23
23
  "/@syncfusion/ej2-react-maps",
24
24
  "/@syncfusion/ej2-vue-maps"
25
25
  ],
26
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-maps/-/ej2-maps-23.2.4.tgz",
27
- "_shasum": "84a7b5a26630bc3a334b34466283014291a5283e",
26
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-maps/-/ej2-maps-24.1.41.tgz",
27
+ "_shasum": "a1dd14ef6bfbd226fe87c023a62bd8feedf1587d",
28
28
  "_spec": "@syncfusion/ej2-maps@*",
29
- "_where": "/jenkins/workspace/elease-automation_release_23.1.1/packages/included",
29
+ "_where": "/jenkins/workspace/elease-automation_release_24.1.1/packages/included",
30
30
  "author": {
31
31
  "name": "Syncfusion Inc."
32
32
  },
@@ -35,13 +35,13 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~23.2.6",
39
- "@syncfusion/ej2-buttons": "~23.2.7",
40
- "@syncfusion/ej2-compression": "~23.2.4",
41
- "@syncfusion/ej2-data": "~23.2.4",
42
- "@syncfusion/ej2-file-utils": "~23.2.4",
43
- "@syncfusion/ej2-pdf-export": "~23.2.6",
44
- "@syncfusion/ej2-svg-base": "~23.2.5"
38
+ "@syncfusion/ej2-base": "~24.1.46",
39
+ "@syncfusion/ej2-buttons": "~24.1.46",
40
+ "@syncfusion/ej2-compression": "~24.1.41",
41
+ "@syncfusion/ej2-data": "~24.1.41",
42
+ "@syncfusion/ej2-file-utils": "~24.1.41",
43
+ "@syncfusion/ej2-pdf-export": "~24.1.47",
44
+ "@syncfusion/ej2-svg-base": "~24.1.47"
45
45
  },
46
46
  "deprecated": false,
47
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",
@@ -93,6 +93,6 @@
93
93
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
94
94
  },
95
95
  "typings": "index.d.ts",
96
- "version": "23.2.7",
96
+ "version": "24.1.47",
97
97
  "sideEffects": false
98
98
  }
package/src/global.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import * as index from './index';
2
- index.Maps.Inject(index.Bubble, index.Legend, index.Marker, index.Highlight, index.Selection, index.MapsTooltip, index.Zoom, index.DataLabel, index.NavigationLine, index.Annotations, index.Print, index.PdfExport, index.ImageExport);
2
+ index.Maps.Inject(index.Bubble, index.Legend, index.Marker, index.Highlight, index.Selection, index.MapsTooltip, index.Zoom, index.DataLabel, index.NavigationLine, index.Annotations, index.Print, index.PdfExport, index.ImageExport, index.Polygon);
3
3
  export * from './index';
@@ -13,6 +13,7 @@ export * from './layers/layer-panel';
13
13
  export * from './layers/bubble';
14
14
  export * from './layers/bing-map';
15
15
  export * from './layers/marker';
16
+ export * from './layers/polygon';
16
17
  export * from './layers/color-mapping';
17
18
  export * from './layers/data-label';
18
19
  export * from './layers/navigation-selected-line';
package/src/maps/index.js CHANGED
@@ -9,6 +9,7 @@ export * from './layers/layer-panel';
9
9
  export * from './layers/bubble';
10
10
  export * from './layers/bing-map';
11
11
  export * from './layers/marker';
12
+ export * from './layers/polygon';
12
13
  export * from './layers/color-mapping';
13
14
  export * from './layers/data-label';
14
15
  export * from './layers/navigation-selected-line';
@@ -196,6 +196,12 @@ var LayerPanel = /** @class */ (function () {
196
196
  && panel.mapObject.previousZoomFactor !== panel.mapObject.zoomSettings.zoomFactor) {
197
197
  panel.mapObject.previousZoomFactor = panel.mapObject.zoomSettings.zoomFactor;
198
198
  }
199
+ if (panel.mapObject.polygonModule) {
200
+ var polygonElement = panel.mapObject.polygonModule.polygonRender(this.mapObject, layerIndex, panel.mapObject.tileZoomLevel);
201
+ if (!isNullOrUndefined(polygonElement)) {
202
+ panel.layerObject.appendChild(polygonElement);
203
+ }
204
+ }
199
205
  if (panel.mapObject.navigationLineModule) {
200
206
  var navigationLineElement = panel.mapObject.navigationLineModule.renderNavigation(panel.currentLayer, panel.mapObject.tileZoomLevel, layerIndex);
201
207
  if (!isNullOrUndefined(navigationLineElement)) {
@@ -664,6 +670,9 @@ var LayerPanel = /** @class */ (function () {
664
670
  layerIndex, colors, renderData, labelTemplateEle) {
665
671
  var _this = this;
666
672
  var bubbleG;
673
+ if (this.mapObject.polygonModule) {
674
+ this.groupElements.push(this.mapObject.polygonModule.polygonRender(this.mapObject, layerIndex, (this.mapObject.isTileMap ? Math.floor(this.currentFactor) : this.currentFactor)));
675
+ }
667
676
  if (this.currentLayer.bubbleSettings.length && this.mapObject.bubbleModule) {
668
677
  var length_1 = this.currentLayer.bubbleSettings.length;
669
678
  var bubble_1;
@@ -1019,9 +1028,11 @@ var LayerPanel = /** @class */ (function () {
1019
1028
  (!(childNode.id.indexOf('_bubble_Group') > -1)) &&
1020
1029
  (!(childNode.id.indexOf('_dataLableIndex_Group') > -1)) &&
1021
1030
  (!(childNode.id.indexOf('_line_Group') > -1))) {
1022
- var transform = 'scale( ' + this.mapObject.scale + ' ) ' + 'translate( ' + this.mapObject.translatePoint.x
1023
- + ' ' + this.mapObject.translatePoint.y + ' ) ';
1024
- childNode.setAttribute('transform', transform);
1031
+ if (childNode.id.indexOf('_Polygons_Group') === -1) {
1032
+ var transform = 'scale( ' + this.mapObject.scale + ' ) ' + 'translate( ' + this.mapObject.translatePoint.x
1033
+ + ' ' + this.mapObject.translatePoint.y + ' ) ';
1034
+ childNode.setAttribute('transform', transform);
1035
+ }
1025
1036
  }
1026
1037
  }
1027
1038
  }
@@ -1797,7 +1797,7 @@ var Legend = /** @class */ (function () {
1797
1797
  var legendToggleBorderWidth = this.maps.legendSettings.toggleLegendSettings.border.width;
1798
1798
  var legendToggleBorderOpacity = isNullOrUndefined(this.maps.legendSettings.toggleLegendSettings.border.opacity) ?
1799
1799
  this.maps.legendSettings.toggleLegendSettings.opacity : this.maps.legendSettings.toggleLegendSettings.border.opacity;
1800
- if (targetEle.parentNode['id'].indexOf(this.maps.element.id + '_Legend_Index_') > -1) {
1800
+ if (!isNullOrUndefined(targetEle.parentNode) && targetEle.parentNode['id'].indexOf(this.maps.element.id + '_Legend_Index_') > -1) {
1801
1801
  var mapElement = void 0;
1802
1802
  var legendIndex = parseFloat(targetEle.parentElement.id.substr((this.maps.element.id + '_Legend_Index_').length));
1803
1803
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -35,11 +35,20 @@ var Marker = /** @class */ (function () {
35
35
  'left:' + maps.mapAreaRect.x + 'px;' +
36
36
  'height:' + maps.mapAreaRect.height + 'px;' +
37
37
  'width:' + maps.mapAreaRect.width + 'px;';
38
- currentLayer.markerSettings.map(function (markerSettings, markerIndex) {
38
+ var allowAnimation = (currentLayer.animationDuration !== 0 || animationMode === 'Enable') || isNullOrUndefined(maps.zoomModule);
39
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
+ var translatePoint;
41
+ if (!maps.isTileMap) {
42
+ translatePoint = !isNullOrUndefined(maps.zoomModule) && maps.zoomSettings.zoomFactor > 1 ?
43
+ getZoomTranslate(maps, currentLayer, allowAnimation) :
44
+ getTranslate(maps, currentLayer, allowAnimation);
45
+ }
46
+ var _loop_1 = function (markerIndex) {
47
+ var markerSettings = currentLayer.markerSettings[markerIndex];
39
48
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
49
  var markerData = markerSettings.dataSource;
41
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
- Array.prototype.forEach.call(markerData, function (data, dataIndex) {
50
+ var _loop_2 = function (dataIndex) {
51
+ var data = markerData[dataIndex];
43
52
  maps.markerNullCount = markerIndex > 0 && dataIndex === 0 ? 0 : maps.markerNullCount;
44
53
  var eventArgs = {
45
54
  cancel: false, name: markerRendering, fill: markerSettings.fill, height: markerSettings.height,
@@ -62,14 +71,11 @@ var Marker = /** @class */ (function () {
62
71
  var markerID = maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
63
72
  + markerIndex + '_dataIndex_' + dataIndex;
64
73
  var location_1 = (maps.isTileMap) ? convertTileLatLongToPoint(new MapLocation(lng, lat), factor, maps.tileTranslatePoint, true) : convertGeoToPoint(lat, lng, factor, currentLayer, maps);
65
- var animate = (currentLayer.animationDuration !== 0 || animationMode === 'Enable') || isNullOrUndefined(maps.zoomModule);
66
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
- var translate = (maps.isTileMap) ? (currentLayer.type === 'SubLayer' && isNullOrUndefined(maps.zoomModule)) ? location_1 = convertTileLatLongToPoint(new MapLocation(lng, lat), maps.tileZoomLevel, maps.tileTranslatePoint, true) : new Object() :
68
- !isNullOrUndefined(maps.zoomModule) && maps.zoomSettings.zoomFactor > 1 ?
69
- getZoomTranslate(maps, currentLayer, animate) :
70
- getTranslate(maps, currentLayer, animate);
71
- var scale = type === 'AddMarker' ? maps.scale : translate['scale'];
72
- var transPoint = type === 'AddMarker' ? maps.translatePoint : translate['location'];
74
+ if (maps.isTileMap) {
75
+ translatePoint = (currentLayer.type === 'SubLayer' && isNullOrUndefined(maps.zoomModule)) ? location_1 = convertTileLatLongToPoint(new MapLocation(lng, lat), maps.tileZoomLevel, maps.tileTranslatePoint, true) : new Object();
76
+ }
77
+ var scale = type === 'AddMarker' ? maps.scale : translatePoint['scale'];
78
+ var transPoint = type === 'AddMarker' ? maps.translatePoint : translatePoint['location'];
73
79
  if (eventArgs.template && (!isNaN(location_1.x) && !isNaN(location_1.y))) {
74
80
  markerTemplateCount++;
75
81
  markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplateEle, location_1, transPoint, scale, offset, maps);
@@ -87,6 +93,7 @@ var Marker = /** @class */ (function () {
87
93
  maps.markerNullCount = (isNullOrUndefined(lng) || isNullOrUndefined(lat)) ?
88
94
  maps.markerNullCount + 1 : maps.markerNullCount;
89
95
  var markerDataLength = markerData.length - maps.markerNullCount;
96
+ var isMarkersClustered = false;
90
97
  if (_this.markerSVGObject.childElementCount === (markerDataLength - markerTemplateCount - nullCount) && (type !== 'Template')) {
91
98
  layerElement.appendChild(_this.markerSVGObject);
92
99
  if (currentLayer.markerClusterSettings.allowClustering) {
@@ -94,11 +101,11 @@ var Marker = /** @class */ (function () {
94
101
  maps.element.appendChild(maps.svgObject);
95
102
  if ((currentLayer.layerType === 'OSM' || (currentLayer.urlTemplate.indexOf('openstreetmap') !== -1 && isNullOrUndefined(currentLayer.shapeData)))
96
103
  && maps.zoomSettings.enable) {
97
- clusterTemplate(currentLayer, _this.markerSVGObject, maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
104
+ isMarkersClustered = clusterTemplate(currentLayer, _this.markerSVGObject, maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
98
105
  layerElement.appendChild(_this.markerSVGObject);
99
106
  }
100
107
  else {
101
- clusterTemplate(currentLayer, _this.markerSVGObject, maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
108
+ isMarkersClustered = clusterTemplate(currentLayer, _this.markerSVGObject, maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
102
109
  }
103
110
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
104
111
  maps.renderReactTemplates();
@@ -107,7 +114,7 @@ var Marker = /** @class */ (function () {
107
114
  if (markerTemplateEle.childElementCount === (markerDataLength - markerCount - nullCount) && getElementByID(maps.element.id + '_Secondary_Element')) {
108
115
  getElementByID(maps.element.id + '_Secondary_Element').appendChild(markerTemplateEle);
109
116
  if (maps.checkInitialRender) {
110
- if (currentLayer.markerClusterSettings.allowClustering) {
117
+ if (currentLayer.markerClusterSettings.allowClustering && !isMarkersClustered) {
111
118
  clusterTemplate(currentLayer, markerTemplateEle, maps, layerIndex, _this.markerSVGObject, layerElement, false, false);
112
119
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
113
120
  maps.renderReactTemplates();
@@ -115,8 +122,15 @@ var Marker = /** @class */ (function () {
115
122
  }
116
123
  }
117
124
  });
118
- });
119
- });
125
+ };
126
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
+ for (var dataIndex = 0; dataIndex < markerData.length; dataIndex++) {
128
+ _loop_2(dataIndex);
129
+ }
130
+ };
131
+ for (var markerIndex = 0; markerIndex < currentLayer.markerSettings.length; markerIndex++) {
132
+ _loop_1(markerIndex);
133
+ }
120
134
  };
121
135
  /**
122
136
  * To find zoom level for individual layers like India, USA.
@@ -181,25 +195,27 @@ var Marker = /** @class */ (function () {
181
195
  !isNullOrUndefined(data['Latitude']) ? parseFloat(data['Latitude']) : null;
182
196
  var longitude = !isNullOrUndefined(data['longitude']) ? parseFloat(data['longitude']) :
183
197
  !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) : null;
184
- minLong_1 = isNullOrUndefined(minLong_1) && dataIndex === 0 ?
185
- longitude : minLong_1;
186
- maxLat_1 = isNullOrUndefined(maxLat_1) && dataIndex === 0 ?
187
- latitude : maxLat_1;
188
- minLat_1 = isNullOrUndefined(minLat_1) && dataIndex === 0 ?
189
- latitude : minLat_1;
190
- maxLong_1 = isNullOrUndefined(maxLong_1) && dataIndex === 0 ?
191
- longitude : maxLong_1;
192
- if (minLong_1 > longitude) {
193
- minLong_1 = longitude;
194
- }
195
- if (minLat_1 > latitude) {
196
- minLat_1 = latitude;
197
- }
198
- if (maxLong_1 < longitude) {
199
- maxLong_1 = longitude;
200
- }
201
- if (maxLat_1 < latitude) {
202
- maxLat_1 = latitude;
198
+ if (!isNullOrUndefined(latitude) && !isNullOrUndefined(longitude)) {
199
+ minLong_1 = isNullOrUndefined(minLong_1) && dataIndex === 0 ?
200
+ longitude : minLong_1;
201
+ maxLat_1 = isNullOrUndefined(maxLat_1) && dataIndex === 0 ?
202
+ latitude : maxLat_1;
203
+ minLat_1 = isNullOrUndefined(minLat_1) && dataIndex === 0 ?
204
+ latitude : minLat_1;
205
+ maxLong_1 = isNullOrUndefined(maxLong_1) && dataIndex === 0 ?
206
+ longitude : maxLong_1;
207
+ if (minLong_1 > longitude) {
208
+ minLong_1 = longitude;
209
+ }
210
+ if (minLat_1 > latitude) {
211
+ minLat_1 = latitude;
212
+ }
213
+ if (maxLong_1 < longitude) {
214
+ maxLong_1 = longitude;
215
+ }
216
+ if (maxLat_1 < latitude) {
217
+ maxLat_1 = latitude;
218
+ }
203
219
  }
204
220
  });
205
221
  });
@@ -0,0 +1,31 @@
1
+ import { Maps } from '../../index';
2
+ /**
3
+ * When injected, this module will be used to render polygon shapes over the Maps.
4
+ */
5
+ export declare class Polygon {
6
+ private maps;
7
+ constructor(maps: Maps);
8
+ /**
9
+ * To render polygon for maps
10
+ *
11
+ * @param {Maps} maps - Specifies the layer instance to which the polygon is to be rendered.
12
+ * @param {number} layerIndex -Specifies the index of current layer.
13
+ * @param {number} factor - Specifies the current zoom factor of the Maps.
14
+ * @returns {Element} - Returns the polygon element.
15
+ * @private
16
+ */
17
+ polygonRender(maps: Maps, layerIndex: number, factor: number): Element;
18
+ /**
19
+ * Get module name.
20
+ *
21
+ * @returns {string} - Returns the module name
22
+ */
23
+ protected getModuleName(): string;
24
+ /**
25
+ * To destroy the layers.
26
+ *
27
+ * @returns {void}
28
+ * @private
29
+ */
30
+ destroy(): void;
31
+ }
@@ -0,0 +1,58 @@
1
+ import { PathOption, calculatePolygonPath, maintainSelection } from '../utils/helper';
2
+ /**
3
+ * When injected, this module will be used to render polygon shapes over the Maps.
4
+ */
5
+ var Polygon = /** @class */ (function () {
6
+ function Polygon(maps) {
7
+ this.maps = maps;
8
+ }
9
+ /**
10
+ * To render polygon for maps
11
+ *
12
+ * @param {Maps} maps - Specifies the layer instance to which the polygon is to be rendered.
13
+ * @param {number} layerIndex -Specifies the index of current layer.
14
+ * @param {number} factor - Specifies the current zoom factor of the Maps.
15
+ * @returns {Element} - Returns the polygon element.
16
+ * @private
17
+ */
18
+ Polygon.prototype.polygonRender = function (maps, layerIndex, factor) {
19
+ var _this = this;
20
+ var currentLayer = maps.layersCollection[layerIndex];
21
+ var polygonsSVGObject = maps.renderer.createGroup({
22
+ id: maps.element.id + '_LayerIndex_' + layerIndex + '_Polygons_Group'
23
+ });
24
+ currentLayer.polygonSettings.polygons.map(function (polygonSetting, polygonIndex) {
25
+ var polygonSVGObject = maps.renderer.createGroup({
26
+ id: maps.element.id + '_LayerIndex_' + layerIndex + '_Polygons_Group_' + polygonIndex
27
+ });
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ var polygonData = polygonSetting.points;
30
+ var path = calculatePolygonPath(maps, factor, currentLayer, polygonData);
31
+ var pathOptions = new PathOption(maps.element.id + '_LayerIndex_' + layerIndex + '_PolygonIndex_' + polygonIndex, polygonSetting.fill, (polygonSetting.borderWidth / factor), polygonSetting.borderColor, polygonSetting.opacity, polygonSetting.borderOpacity, '', path);
32
+ var polygonEle = maps.renderer.drawPath(pathOptions);
33
+ maintainSelection(_this.maps.selectedPolygonElementId, _this.maps.polygonSelectionClass, polygonEle, 'PolygonselectionMapStyle');
34
+ polygonSVGObject.appendChild(polygonEle);
35
+ polygonsSVGObject.appendChild(polygonSVGObject);
36
+ });
37
+ return polygonsSVGObject;
38
+ };
39
+ /**
40
+ * Get module name.
41
+ *
42
+ * @returns {string} - Returns the module name
43
+ */
44
+ Polygon.prototype.getModuleName = function () {
45
+ return 'Polygon';
46
+ };
47
+ /**
48
+ * To destroy the layers.
49
+ *
50
+ * @returns {void}
51
+ * @private
52
+ */
53
+ Polygon.prototype.destroy = function () {
54
+ this.maps = null;
55
+ };
56
+ return Polygon;
57
+ }());
58
+ export { Polygon };
@@ -1,4 +1,4 @@
1
- import { Component, NotifyPropertyChanges, INotifyPropertyChanged, Property, Fetch } from '@syncfusion/ej2-base';import { EventHandler, Browser, EmitType, isNullOrUndefined, createElement, setValue, extend } from '@syncfusion/ej2-base';import { Event, remove, L10n, Collection, Internationalization, Complex } from '@syncfusion/ej2-base';import { ModuleDeclaration } from '@syncfusion/ej2-base';import { SvgRenderer } from '@syncfusion/ej2-svg-base';import { Size, createSvg, Point, removeElement, triggerShapeEvent, showTooltip, checkShapeDataFields, MapLocation, getMousePosition, calculateSize } from './utils/helper';import { getElement, removeClass, getTranslate, triggerItemSelectionEvent, mergeSeparateCluster, customizeStyle, querySelector } from './utils/helper';import { createStyle } from './utils/helper';import { ZoomSettings, LegendSettings } from './model/base';import { LayerSettings, TitleSettings, Border, Margin, MapsAreaSettings, Annotation, CenterPosition } from './model/base';import { ZoomSettingsModel, LegendSettingsModel, LayerSettingsModel, BubbleSettingsModel } from './model/base-model';import { MarkerSettingsModel, SelectionSettingsModel, InitialMarkerSelectionSettingsModel } from './model/base-model';import { TitleSettingsModel, BorderModel, MarginModel, CenterPositionModel, InitialShapeSelectionSettingsModel } from './model/base-model';import { MapsAreaSettingsModel, AnnotationModel } from './model/base-model';import { Bubble } from './layers/bubble';import { Legend } from './layers/legend';import { Marker } from './layers/marker';import { Highlight } from './user-interaction/highlight';import { Selection } from './user-interaction/selection';import { MapsTooltip } from './user-interaction/tooltip';import { Zoom } from './user-interaction/zoom';import { load, click, onclick, rightClick, loaded, doubleClick, resize, shapeSelected, itemSelection, zoomIn } from './model/constants';import { ProjectionType, MapsTheme, PanDirection, TooltipGesture } from './utils/enum';import { getThemeStyle, Theme } from './model/theme';import { ILoadEventArgs, ILoadedEventArgs, IMouseEventArgs, IResizeEventArgs, ITooltipRenderEventArgs } from './model/interface';import { GeoPosition, ITooltipRenderCompleteEventArgs, ILegendRenderingEventArgs } from './model/interface';import { ILayerRenderingEventArgs, IShapeRenderingEventArgs, IMarkerRenderingEventArgs, IMarkerClickEventArgs } from './model/interface';import { IMarkerMoveEventArgs, ILabelRenderingEventArgs, IBubbleMoveEventArgs, IBubbleClickEventArgs } from './model/interface';import { IMarkerClusterClickEventArgs, IMarkerClusterMoveEventArgs, IMarkerClusterRenderingEventArgs } from './model/interface';import { ISelectionEventArgs, IShapeSelectedEventArgs, IMapPanEventArgs, IMapZoomEventArgs } from './model/interface';import { IBubbleRenderingEventArgs, IAnimationCompleteEventArgs, IPrintEventArgs, IThemeStyle } from './model/interface';import { LayerPanel } from './layers/layer-panel';import { GeoLocation, Rect, RectOption, measureText, getElementByID, MapAjax, processResult, getElementsByClassName } from '../maps/utils/helper';import { findPosition, textTrim, TextOption, renderTextElement, calculateZoomLevel, convertTileLatLongToPoint, convertGeoToPoint} from '../maps/utils/helper';import { Annotations } from '../maps/user-interaction/annotation';import { FontModel, DataLabel, MarkerSettings, IAnnotationRenderingEventArgs, IMarkerDragEventArgs } from './index';import { NavigationLineSettingsModel, changeBorderWidth } from './index';import { NavigationLine } from './layers/navigation-selected-line';import { DataManager, Query } from '@syncfusion/ej2-data';import { ExportType } from '../maps/utils/enum';import { PdfPageOrientation } from '@syncfusion/ej2-pdf-export';import { Print } from './model/print';import { PdfExport } from './model/export-pdf';import { ImageExport } from './model/export-image';
1
+ import { Component, NotifyPropertyChanges, INotifyPropertyChanged, Property, Fetch } from '@syncfusion/ej2-base';import { EventHandler, Browser, EmitType, isNullOrUndefined, createElement, setValue, extend } from '@syncfusion/ej2-base';import { Event, remove, L10n, Collection, Internationalization, Complex } from '@syncfusion/ej2-base';import { ModuleDeclaration } from '@syncfusion/ej2-base';import { SvgRenderer } from '@syncfusion/ej2-svg-base';import { Size, createSvg, Point, removeElement, triggerShapeEvent, showTooltip, checkShapeDataFields, MapLocation, getMousePosition, calculateSize } from './utils/helper';import { getElement, removeClass, getTranslate, triggerItemSelectionEvent, mergeSeparateCluster, customizeStyle, querySelector } from './utils/helper';import { createStyle } from './utils/helper';import { ZoomSettings, LegendSettings } from './model/base';import { LayerSettings, TitleSettings, Border, Margin, MapsAreaSettings, Annotation, CenterPosition } from './model/base';import { ZoomSettingsModel, LegendSettingsModel, LayerSettingsModel, BubbleSettingsModel, PolygonSettingsModel } from './model/base-model';import { MarkerSettingsModel, SelectionSettingsModel, InitialMarkerSelectionSettingsModel } from './model/base-model';import { TitleSettingsModel, BorderModel, MarginModel, CenterPositionModel, InitialShapeSelectionSettingsModel } from './model/base-model';import { MapsAreaSettingsModel, AnnotationModel } from './model/base-model';import { Bubble } from './layers/bubble';import { Legend } from './layers/legend';import { Marker } from './layers/marker';import { Highlight } from './user-interaction/highlight';import { Selection } from './user-interaction/selection';import { MapsTooltip } from './user-interaction/tooltip';import { Zoom } from './user-interaction/zoom';import { load, click, onclick, rightClick, loaded, doubleClick, resize, shapeSelected, zoomIn } from './model/constants';import { ProjectionType, MapsTheme, PanDirection, TooltipGesture } from './utils/enum';import { getThemeStyle, Theme } from './model/theme';import { ILoadEventArgs, ILoadedEventArgs, IMinMaxLatitudeLongitude, IMouseEventArgs, IResizeEventArgs, ITooltipRenderEventArgs } from './model/interface';import { GeoPosition, ITooltipRenderCompleteEventArgs, ILegendRenderingEventArgs } from './model/interface';import { ILayerRenderingEventArgs, IShapeRenderingEventArgs, IMarkerRenderingEventArgs, IMarkerClickEventArgs } from './model/interface';import { IMarkerMoveEventArgs, ILabelRenderingEventArgs, IBubbleMoveEventArgs, IBubbleClickEventArgs } from './model/interface';import { IMarkerClusterClickEventArgs, IMarkerClusterMoveEventArgs, IMarkerClusterRenderingEventArgs } from './model/interface';import { ISelectionEventArgs, IShapeSelectedEventArgs, IMapPanEventArgs, IMapZoomEventArgs } from './model/interface';import { IBubbleRenderingEventArgs, IAnimationCompleteEventArgs, IPrintEventArgs, IThemeStyle } from './model/interface';import { LayerPanel } from './layers/layer-panel';import { GeoLocation, Rect, RectOption, measureText, getElementByID, MapAjax, processResult, getElementsByClassName } from '../maps/utils/helper';import { findPosition, textTrim, TextOption, renderTextElement, calculateZoomLevel, convertTileLatLongToPoint, convertGeoToPoint} from '../maps/utils/helper';import { Annotations } from '../maps/user-interaction/annotation';import { FontModel, DataLabel, MarkerSettings, IAnnotationRenderingEventArgs, IMarkerDragEventArgs } from './index';import { NavigationLineSettingsModel, changeBorderWidth } from './index';import { NavigationLine } from './layers/navigation-selected-line';import { Polygon } from './layers/polygon';import { DataManager, Query } from '@syncfusion/ej2-data';import { ExportType } from '../maps/utils/enum';import { PdfPageOrientation } from '@syncfusion/ej2-pdf-export';import { Print } from './model/print';import { PdfExport } from './model/export-pdf';import { ImageExport } from './model/export-image';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -21,7 +21,7 @@ import { MapsTooltip } from './user-interaction/tooltip';
21
21
  import { Zoom } from './user-interaction/zoom';
22
22
  import { ProjectionType, MapsTheme, PanDirection, TooltipGesture } from './utils/enum';
23
23
  import { MapsModel } from './maps-model';
24
- import { ILoadEventArgs, ILoadedEventArgs, IMouseEventArgs, IResizeEventArgs, ITooltipRenderEventArgs } from './model/interface';
24
+ import { ILoadEventArgs, ILoadedEventArgs, IMinMaxLatitudeLongitude, IMouseEventArgs, IResizeEventArgs, ITooltipRenderEventArgs } from './model/interface';
25
25
  import { GeoPosition, ITooltipRenderCompleteEventArgs, ILegendRenderingEventArgs } from './model/interface';
26
26
  import { ILayerRenderingEventArgs, IShapeRenderingEventArgs, IMarkerRenderingEventArgs, IMarkerClickEventArgs } from './model/interface';
27
27
  import { IMarkerMoveEventArgs, ILabelRenderingEventArgs, IBubbleMoveEventArgs, IBubbleClickEventArgs } from './model/interface';
@@ -33,6 +33,7 @@ import { GeoLocation, Rect } from '../maps/utils/helper';
33
33
  import { Annotations } from '../maps/user-interaction/annotation';
34
34
  import { DataLabel, IAnnotationRenderingEventArgs, IMarkerDragEventArgs } from './index';
35
35
  import { NavigationLine } from './layers/navigation-selected-line';
36
+ import { Polygon } from './layers/polygon';
36
37
  import { ExportType } from '../maps/utils/enum';
37
38
  import { PdfPageOrientation } from '@syncfusion/ej2-pdf-export';
38
39
  import { Print } from './model/print';
@@ -80,6 +81,12 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
80
81
  * @private
81
82
  */
82
83
  navigationLineModule: NavigationLine;
84
+ /**
85
+ * Gets or sets the module to add the polygon shapes over the maps.
86
+ *
87
+ * @private
88
+ */
89
+ polygonModule: Polygon;
83
90
  /**
84
91
  * Gets or sets the module to add the legend in maps.
85
92
  *
@@ -674,6 +681,10 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
674
681
  /** @private */
675
682
  selectedNavigationElementId: string[];
676
683
  /** @private */
684
+ polygonSelectionClass: Element;
685
+ /** @private */
686
+ selectedPolygonElementId: string[];
687
+ /** @private */
677
688
  legendSelectionClass: SelectionSettingsModel;
678
689
  /** @private */
679
690
  selectedLegendElementId: number[];
@@ -700,6 +711,8 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
700
711
  /** @private */
701
712
  previousTileWidth: number;
702
713
  /** @private */
714
+ isMarkerZoomCompleted: boolean;
715
+ /** @private */
703
716
  markerDragId: string;
704
717
  /** @private */
705
718
  previousTileHeight: number;
@@ -767,6 +780,7 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
767
780
  */
768
781
  processResponseJsonData(processType: string, data?: any | string, layer?: LayerSettings, dataType?: string): void;
769
782
  private renderMap;
783
+ private triggerZoomEvent;
770
784
  /**
771
785
  * To apply color to the initial selected marker
772
786
  *
@@ -805,6 +819,10 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
805
819
  private setSecondaryElementPosition;
806
820
  private zoomingChange;
807
821
  private createSecondaryElement;
822
+ /**
823
+ * @returns {void}
824
+ */
825
+ getMinMaxLatitudeLongitude(): IMinMaxLatitudeLongitude;
808
826
  /**
809
827
  * @returns {void}
810
828
  * @private
@@ -1083,6 +1101,12 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
1083
1101
  * @returns {boolean} - Returns whether the navigation lines are visible or not.
1084
1102
  */
1085
1103
  private isNavigationVisible;
1104
+ /**
1105
+ * To find navigation line visibility
1106
+ *
1107
+ * @returns {boolean} - Returns whether the navigation lines are visible or not.
1108
+ */
1109
+ private isPolygonVisible;
1086
1110
  /**
1087
1111
  * To find marker visibility
1088
1112
  */