@syncfusion/ej2-maps 20.4.54 → 21.1.37

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 (53) hide show
  1. package/CHANGELOG.md +5 -27
  2. package/dist/ej2-maps.min.js +2 -2
  3. package/dist/ej2-maps.umd.min.js +2 -2
  4. package/dist/ej2-maps.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-maps.es2015.js +952 -222
  6. package/dist/es6/ej2-maps.es2015.js.map +1 -1
  7. package/dist/es6/ej2-maps.es5.js +967 -222
  8. package/dist/es6/ej2-maps.es5.js.map +1 -1
  9. package/dist/global/ej2-maps.min.js +2 -2
  10. package/dist/global/ej2-maps.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +13 -13
  13. package/src/maps/layers/bubble.d.ts +2 -0
  14. package/src/maps/layers/bubble.js +2 -1
  15. package/src/maps/layers/color-mapping.d.ts +1 -0
  16. package/src/maps/layers/color-mapping.js +1 -0
  17. package/src/maps/layers/data-label.d.ts +1 -0
  18. package/src/maps/layers/data-label.js +1 -0
  19. package/src/maps/layers/layer-panel.js +1 -0
  20. package/src/maps/layers/legend.d.ts +2 -0
  21. package/src/maps/layers/legend.js +2 -0
  22. package/src/maps/layers/marker.d.ts +5 -0
  23. package/src/maps/layers/marker.js +41 -2
  24. package/src/maps/layers/navigation-selected-line.d.ts +1 -0
  25. package/src/maps/layers/navigation-selected-line.js +1 -0
  26. package/src/maps/maps-model.d.ts +47 -33
  27. package/src/maps/maps.d.ts +138 -88
  28. package/src/maps/maps.js +188 -56
  29. package/src/maps/model/base-model.d.ts +535 -230
  30. package/src/maps/model/base.d.ts +540 -263
  31. package/src/maps/model/base.js +168 -28
  32. package/src/maps/model/constants.d.ts +12 -0
  33. package/src/maps/model/constants.js +12 -0
  34. package/src/maps/model/export-image.d.ts +1 -1
  35. package/src/maps/model/export-image.js +1 -1
  36. package/src/maps/model/export-pdf.d.ts +2 -2
  37. package/src/maps/model/export-pdf.js +2 -2
  38. package/src/maps/model/interface.d.ts +137 -108
  39. package/src/maps/model/theme.d.ts +1 -0
  40. package/src/maps/model/theme.js +1 -0
  41. package/src/maps/user-interaction/annotation.d.ts +2 -0
  42. package/src/maps/user-interaction/annotation.js +2 -0
  43. package/src/maps/user-interaction/highlight.d.ts +1 -0
  44. package/src/maps/user-interaction/highlight.js +1 -0
  45. package/src/maps/user-interaction/selection.d.ts +1 -0
  46. package/src/maps/user-interaction/selection.js +1 -0
  47. package/src/maps/user-interaction/tooltip.d.ts +16 -0
  48. package/src/maps/user-interaction/tooltip.js +23 -6
  49. package/src/maps/user-interaction/zoom.d.ts +99 -3
  50. package/src/maps/user-interaction/zoom.js +405 -100
  51. package/src/maps/utils/enum.d.ts +105 -91
  52. package/src/maps/utils/helper.d.ts +75 -15
  53. package/src/maps/utils/helper.js +118 -32
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.4.54
3
+ * version : 21.1.37
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. 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@20.4.49",
3
+ "_id": "@syncfusion/ej2-maps@21.1.35",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-mDTTSc12RWppsfjXlF9qEA7MK7jvYKRM5sGrgLLq9Cww4zk45QTUmcWxU3rKvDgzp9DtVRVYmGBKaCu3t88UzQ==",
5
+ "_integrity": "sha512-WufF1xB1A5FsIbAx3qZgmVdkX/ODPpprThHEejipaxPfBWQ14Fg1r32ugaadGMo+YY7KU6DSei6/Eqr6lUdr1A==",
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-20.4.49.tgz",
27
- "_shasum": "55ff71b4c167a3be8af6a298f611c794e2b026c8",
26
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-maps/-/ej2-maps-21.1.35.tgz",
27
+ "_shasum": "ac531b479c7bbaeffd248dfae5da90655e9c163d",
28
28
  "_spec": "@syncfusion/ej2-maps@*",
29
- "_where": "/jenkins/workspace/ease-automation_release_19.1.0.1/packages/included",
29
+ "_where": "/jenkins/workspace/elease-automation_release_21.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": "~20.4.51",
39
- "@syncfusion/ej2-buttons": "~20.4.53",
40
- "@syncfusion/ej2-compression": "~20.4.48",
41
- "@syncfusion/ej2-data": "~20.4.48",
42
- "@syncfusion/ej2-file-utils": "~20.4.48",
43
- "@syncfusion/ej2-pdf-export": "~20.4.48",
44
- "@syncfusion/ej2-svg-base": "~20.4.53"
38
+ "@syncfusion/ej2-base": "~21.1.37",
39
+ "@syncfusion/ej2-buttons": "~21.1.37",
40
+ "@syncfusion/ej2-compression": "~21.1.37",
41
+ "@syncfusion/ej2-data": "~21.1.37",
42
+ "@syncfusion/ej2-file-utils": "~21.1.37",
43
+ "@syncfusion/ej2-pdf-export": "~21.1.37",
44
+ "@syncfusion/ej2-svg-base": "~21.1.37"
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": "20.4.54",
96
+ "version": "21.1.37",
97
97
  "sideEffects": false
98
98
  }
@@ -6,9 +6,11 @@ import { LayerSettings } from '../index';
6
6
  */
7
7
  export declare class Bubble {
8
8
  private maps;
9
+ /** @private */
9
10
  bubbleCollection: any[];
10
11
  /**
11
12
  * Bubble Id for current layer
13
+ * @private
12
14
  */
13
15
  id: string;
14
16
  constructor(maps: Maps);
@@ -10,6 +10,7 @@ var Bubble = /** @class */ (function () {
10
10
  function Bubble(maps) {
11
11
  /**
12
12
  * Bubble Id for current layer
13
+ * @private
13
14
  */
14
15
  this.id = '';
15
16
  this.maps = maps;
@@ -161,7 +162,7 @@ var Bubble = /** @class */ (function () {
161
162
  var bubbleDataSource = bubbleSettings.dataSource;
162
163
  var scale = translate['scale'];
163
164
  var transPoint = translate['location'];
164
- var position = new MapLocation((_this.maps.isTileMap ? (eventArgs.cx) : ((eventArgs.cx + transPoint.x) * scale)), (_this.maps.isTileMap ? (eventArgs.cy) : ((eventArgs.cy + transPoint.y) * scale)));
165
+ var position = new MapLocation((_this.maps.isTileMap ? ((eventArgs.cx + _this.maps.translatePoint.x) * _this.maps.tileZoomLevel) : ((eventArgs.cx + transPoint.x) * scale)), (_this.maps.isTileMap ? ((eventArgs.cy + _this.maps.translatePoint.y) * _this.maps.tileZoomLevel) : ((eventArgs.cy + transPoint.y) * scale)));
165
166
  bubbleElement.setAttribute('transform', 'translate( ' + (position.x) + ' ' + (position.y) + ' )');
166
167
  var bubble = (bubbleDataSource.length - 1) === dataIndex ? 'bubble' : null;
167
168
  if (bubbleSettings.bubbleType === 'Square') {
@@ -23,6 +23,7 @@ export declare class ColorMapping {
23
23
  * @param {number} colorValue - Specifies the color value
24
24
  * @param {string} equalValue - Specifies the equal value.
25
25
  * @returns {any} - Returns the color mapping values.
26
+ * @private
26
27
  */
27
28
  getColorByValue(colorMapping: ColorMappingSettingsModel[], colorValue: number, equalValue: string): any;
28
29
  deSaturationColor(colorMapping: ColorMappingSettingsModel, color: string, rangeValue: number, equalValue: string): number;
@@ -34,6 +34,7 @@ var ColorMapping = /** @class */ (function () {
34
34
  * @param {number} colorValue - Specifies the color value
35
35
  * @param {string} equalValue - Specifies the equal value.
36
36
  * @returns {any} - Returns the color mapping values.
37
+ * @private
37
38
  */
38
39
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
40
  ColorMapping.prototype.getColorByValue = function (colorMapping, colorValue, equalValue) {
@@ -26,6 +26,7 @@ export declare class DataLabel {
26
26
  * @param {number} index - Specifies the index number.
27
27
  * @param {any[]} intersect - Specifies the intersect.
28
28
  * @returns {void}
29
+ * @private
29
30
  */
30
31
  renderLabel(layer: LayerSettings, layerIndex: number, shape: any, layerData: any[], group: Element, labelTemplateElement: HTMLElement, index: number, intersect: any[]): void;
31
32
  private getPoint;
@@ -42,6 +42,7 @@ var DataLabel = /** @class */ (function () {
42
42
  * @param {number} index - Specifies the index number.
43
43
  * @param {any[]} intersect - Specifies the intersect.
44
44
  * @returns {void}
45
+ * @private
45
46
  */
46
47
  DataLabel.prototype.renderLabel = function (
47
48
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -672,6 +672,7 @@ var LayerPanel = /** @class */ (function () {
672
672
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
673
673
  var bubbleDataSource = bubble_1.dataSource;
674
674
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
675
+ this_2.mapObject.bubbleModule.bubbleCollection = [];
675
676
  bubbleDataSource.map(function (bubbleData, i) {
676
677
  _this.renderBubble(_this.currentLayer, bubbleData, colors[i % colors.length], range, j, i, bubbleG, layerIndex, bubble_1);
677
678
  });
@@ -79,6 +79,7 @@ export declare class Legend {
79
79
  * To calculate legend bounds and draw the legend shape and text.
80
80
  *
81
81
  * @returns {void}
82
+ * @private
82
83
  */
83
84
  renderLegend(): void;
84
85
  calculateLegendBounds(): void;
@@ -99,6 +100,7 @@ export declare class Legend {
99
100
  private legendTextTrim;
100
101
  /**
101
102
  * To draw the legend shape and text.
103
+ * @private
102
104
  */
103
105
  drawLegend(): void;
104
106
  /**
@@ -64,6 +64,7 @@ var Legend = /** @class */ (function () {
64
64
  * To calculate legend bounds and draw the legend shape and text.
65
65
  *
66
66
  * @returns {void}
67
+ * @private
67
68
  */
68
69
  Legend.prototype.renderLegend = function () {
69
70
  this.legendRenderingCollections = [];
@@ -408,6 +409,7 @@ var Legend = /** @class */ (function () {
408
409
  // eslint-disable-next-line valid-jsdoc
409
410
  /**
410
411
  * To draw the legend shape and text.
412
+ * @private
411
413
  */
412
414
  Legend.prototype.drawLegend = function () {
413
415
  var map = this.maps;
@@ -28,18 +28,21 @@ export declare class Marker {
28
28
  *
29
29
  * @param {LayerSettings[]} layersCollection - Specifies the layer settings instance.
30
30
  * @returns {void}
31
+ * @private
31
32
  */
32
33
  calculateZoomCenterPositionAndFactor(layersCollection: LayerSettings[]): void;
33
34
  /**
34
35
  * To check and trigger marker click event
35
36
  * @param {PointerEvent} e - Specifies the pointer event argument.
36
37
  * @returns {void}
38
+ * @private
37
39
  */
38
40
  markerClick(e: PointerEvent): void;
39
41
  /**
40
42
  * To check and trigger Cluster click event
41
43
  * @param {PointerEvent} e - Specifies the pointer event argument.
42
44
  * @returns {void}
45
+ * @private
43
46
  */
44
47
  markerClusterClick(e: PointerEvent): void;
45
48
  /**
@@ -54,6 +57,7 @@ export declare class Marker {
54
57
  *
55
58
  * @param {PointerEvent} e - Specifies the pointer event argument.
56
59
  * @returns {void}
60
+ * @private
57
61
  */
58
62
  markerMove(e: PointerEvent): void;
59
63
  /**
@@ -61,6 +65,7 @@ export declare class Marker {
61
65
  *
62
66
  * @param {PointerEvent} e - Specifies the pointer event argument.
63
67
  * @returns {void}
68
+ * @private
64
69
  */
65
70
  markerClusterMouseMove(e: PointerEvent): void;
66
71
  /**
@@ -1,4 +1,4 @@
1
- import { markerRendering, convertTileLatLongToPoint, MapLocation } from '../index';
1
+ import { markerRendering, convertTileLatLongToPoint, MapLocation, markerDragStart } from '../index';
2
2
  import { markerClick, markerMouseMove, markerClusterClick, markerClusterMouseMove } from '../index';
3
3
  import { isNullOrUndefined, createElement } from '@syncfusion/ej2-base';
4
4
  import { getTranslate, convertGeoToPoint, clusterTemplate, marker, markerTemplate, getZoomTranslate } from '../utils/helper';
@@ -146,6 +146,7 @@ var Marker = /** @class */ (function () {
146
146
  *
147
147
  * @param {LayerSettings[]} layersCollection - Specifies the layer settings instance.
148
148
  * @returns {void}
149
+ * @private
149
150
  */
150
151
  Marker.prototype.calculateZoomCenterPositionAndFactor = function (layersCollection) {
151
152
  if (!isNullOrUndefined(this.maps)) {
@@ -274,6 +275,7 @@ var Marker = /** @class */ (function () {
274
275
  * To check and trigger marker click event
275
276
  * @param {PointerEvent} e - Specifies the pointer event argument.
276
277
  * @returns {void}
278
+ * @private
277
279
  */
278
280
  Marker.prototype.markerClick = function (e) {
279
281
  var target = e.target.id;
@@ -284,6 +286,9 @@ var Marker = /** @class */ (function () {
284
286
  if (isNullOrUndefined(options)) {
285
287
  return;
286
288
  }
289
+ if (options.marker.enableDrag) {
290
+ document.getElementById(this.maps.element.id + "_svg").style.cursor = 'grabbing';
291
+ }
287
292
  var eventArgs = {
288
293
  cancel: false, name: markerClick, data: options.data, maps: this.maps,
289
294
  marker: options.marker, target: target, x: e.clientX, y: e.clientY,
@@ -292,11 +297,39 @@ var Marker = /** @class */ (function () {
292
297
  value: options.data['name']
293
298
  };
294
299
  this.maps.trigger(markerClick, eventArgs);
300
+ if (options.marker.enableDrag) {
301
+ var isCluster = false;
302
+ var layerIndex = parseInt(target.split('_LayerIndex_')[1].split('_')[0], 10);
303
+ var markerIndex = parseInt(target.split('_MarkerIndex_')[1].split('_')[0], 10);
304
+ var dataIndex_1 = parseInt(target.split('_dataIndex_')[1].split('_')[0], 10);
305
+ var marker_1 = this.maps.layers[layerIndex].markerSettings[markerIndex];
306
+ if (this.sameMarkerData.length > 0) {
307
+ isCluster = (this.sameMarkerData[0].data.filter(function (el) { return (el['index'] == dataIndex_1); })).length > 0 &&
308
+ this.sameMarkerData[0].layerIndex === layerIndex && this.sameMarkerData[0].markerIndex === markerIndex;
309
+ }
310
+ if (!isCluster) {
311
+ var dragEventArgs = {
312
+ name: markerDragStart, x: e.clientX, y: e.clientY,
313
+ latitude: options.data['latitude'] || options.data['Latitude'],
314
+ longitude: options.data['longitude'] || options.data['Longitude'],
315
+ layerIndex: layerIndex, markerIndex: markerIndex, dataIndex: dataIndex_1
316
+ };
317
+ this.maps.trigger(markerDragStart, dragEventArgs);
318
+ this.maps.markerDragArgument = {
319
+ targetId: target, x: e.clientX, y: e.clientY,
320
+ latitude: options.data['latitude'] || options.data['Latitude'],
321
+ longitude: options.data['longitude'] || options.data['Longitude'],
322
+ shape: isNullOrUndefined(marker_1.shapeValuePath) ? marker_1.shape : marker_1.dataSource[dataIndex_1][marker_1.shapeValuePath],
323
+ layerIndex: layerIndex, markerIndex: markerIndex, dataIndex: dataIndex_1
324
+ };
325
+ }
326
+ }
295
327
  };
296
328
  /**
297
329
  * To check and trigger Cluster click event
298
330
  * @param {PointerEvent} e - Specifies the pointer event argument.
299
331
  * @returns {void}
332
+ * @private
300
333
  */
301
334
  Marker.prototype.markerClusterClick = function (e) {
302
335
  var target = e.target.id;
@@ -367,7 +400,7 @@ var Marker = /** @class */ (function () {
367
400
  if ((target.indexOf('_cluster_') > -1)) {
368
401
  var isClusterSame = false;
369
402
  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);
370
- var indexes = layer.markerClusterSettings.shape === 'Balloon' ? clusterElement.children[0].innerHTML.split(',').map(Number) : clusterElement.innerHTML.split(',').map(Number);
403
+ var indexes = layer.markerClusterSettings.shape === 'Balloon' ? clusterElement.children[0].innerText.split(',').map(Number) : clusterElement.innerText.split(',').map(Number);
371
404
  collection_1 = [];
372
405
  for (var _i = 0, indexes_1 = indexes; _i < indexes_1.length; _i++) {
373
406
  var i = indexes_1[_i];
@@ -391,6 +424,7 @@ var Marker = /** @class */ (function () {
391
424
  *
392
425
  * @param {PointerEvent} e - Specifies the pointer event argument.
393
426
  * @returns {void}
427
+ * @private
394
428
  */
395
429
  Marker.prototype.markerMove = function (e) {
396
430
  var targetId = e.target.id;
@@ -401,6 +435,10 @@ var Marker = /** @class */ (function () {
401
435
  if (isNullOrUndefined(options)) {
402
436
  return;
403
437
  }
438
+ if (options.marker.enableDrag) {
439
+ document.getElementById(this.maps.element.id + "_svg").style.cursor = isNullOrUndefined(this.maps.markerDragArgument) ?
440
+ 'pointer' : 'grabbing';
441
+ }
404
442
  var eventArgs = {
405
443
  cancel: false, name: markerMouseMove, data: options.data,
406
444
  maps: this.maps, target: targetId, x: e.clientX, y: e.clientY
@@ -412,6 +450,7 @@ var Marker = /** @class */ (function () {
412
450
  *
413
451
  * @param {PointerEvent} e - Specifies the pointer event argument.
414
452
  * @returns {void}
453
+ * @private
415
454
  */
416
455
  Marker.prototype.markerClusterMouseMove = function (e) {
417
456
  var targetId = e.target.id;
@@ -13,6 +13,7 @@ export declare class NavigationLine {
13
13
  * @param {number} factor - Specifies the current zoom factor of the Maps.
14
14
  * @param {number} layerIndex -Specifies the index of current layer.
15
15
  * @returns {Element} - Returns the navigation line element.
16
+ * @private
16
17
  */
17
18
  renderNavigation(layer: LayerSettings, factor: number, layerIndex: number): Element;
18
19
  private convertRadius;
@@ -15,6 +15,7 @@ var NavigationLine = /** @class */ (function () {
15
15
  * @param {number} factor - Specifies the current zoom factor of the Maps.
16
16
  * @param {number} layerIndex -Specifies the index of current layer.
17
17
  * @returns {Element} - Returns the navigation line element.
18
+ * @private
18
19
  */
19
20
  NavigationLine.prototype.renderNavigation = function (layer, factor, layerIndex) {
20
21
  var group;
@@ -1,4 +1,4 @@
1
- import { Component, NotifyPropertyChanges, INotifyPropertyChanged, Property, Ajax } 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 } from '../maps/utils/helper';import { Annotations } from '../maps/user-interaction/annotation';import { FontModel, DataLabel, MarkerSettings, IAnnotationRenderingEventArgs } 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, Ajax } 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';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -7,7 +7,7 @@ import {ComponentModel} from '@syncfusion/ej2-base';
7
7
  export interface MapsModel extends ComponentModel{
8
8
 
9
9
  /**
10
- * Sets and gets the background color of the maps container.
10
+ * Gets or sets the background color of the maps container.
11
11
  *
12
12
  * @default null
13
13
  */
@@ -21,28 +21,28 @@ export interface MapsModel extends ComponentModel{
21
21
  useGroupingSeparator?: boolean;
22
22
 
23
23
  /**
24
- * Sets and gets the format in which the text in the maps are to be rendered.
24
+ * Gets or sets the format to apply internationalization for the text in the maps.
25
25
  *
26
26
  * @default null
27
27
  */
28
28
  format?: string;
29
29
 
30
30
  /**
31
- * Sets and gets the width in which the maps is to be rendered.
31
+ * Gets or sets the width in which the maps is to be rendered.
32
32
  *
33
33
  * @default null
34
34
  */
35
35
  width?: string;
36
36
 
37
37
  /**
38
- * Sets and gets the height in which the maps is to be rendered.
38
+ * Gets or sets the height in which the maps is to be rendered.
39
39
  *
40
40
  * @default null
41
41
  */
42
42
  height?: string;
43
43
 
44
44
  /**
45
- * Sets and gets the mode in which the tooltip is to be displayed.
45
+ * Gets or sets the mode in which the tooltip is to be displayed.
46
46
  * The tooltip can be rendered on mouse move, click or double clicking on the
47
47
  * element on the map.
48
48
  *
@@ -51,108 +51,108 @@ export interface MapsModel extends ComponentModel{
51
51
  tooltipDisplayMode?: TooltipGesture;
52
52
 
53
53
  /**
54
- * Enables or disables the print functionality in map.
54
+ * Enables or disables the print functionality in maps.
55
55
  *
56
56
  * @default false
57
57
  */
58
58
  allowPrint?: boolean;
59
59
 
60
60
  /**
61
- * Enables or disables the export to image functionality in map.
61
+ * Enables or disables the export to image functionality in maps.
62
62
  *
63
63
  * @default false
64
64
  */
65
65
  allowImageExport?: boolean;
66
66
 
67
67
  /**
68
- * Enables or disables the export to PDF functionality in map.
68
+ * Enables or disables the export to PDF functionality in maps.
69
69
  *
70
70
  * @default false
71
71
  */
72
72
  allowPdfExport?: boolean;
73
73
 
74
74
  /**
75
- * Sets and gets the title to be displayed for maps.
75
+ * Gets or sets the options to customize the title of the maps.
76
76
  */
77
77
  titleSettings?: TitleSettingsModel;
78
78
 
79
79
  /**
80
- * Sets and gets the options to customize the zooming operations in maps.
80
+ * Gets or sets the options to customize the zooming operations in maps.
81
81
  */
82
82
  zoomSettings?: ZoomSettingsModel;
83
83
 
84
84
  /**
85
- * Sets and gets the options to customize the legend of the maps.
85
+ * Gets or sets the options to customize the legend of the maps.
86
86
  */
87
87
  legendSettings?: LegendSettingsModel;
88
88
 
89
89
  /**
90
- * Sets and gets the options to customize the layers of the maps.
90
+ * Gets or sets the options to customize the layers of the maps.
91
91
  */
92
92
  layers?: LayerSettingsModel[];
93
93
 
94
94
  /**
95
- * Sets and gets the options for customizing the annotation of maps.
95
+ * Gets or sets the options for customizing the annotations in the maps.
96
96
  */
97
97
  annotations?: AnnotationModel[];
98
98
 
99
99
  /**
100
- * Sets and gets the options to customize the margins of the maps.
100
+ * Gets or sets the options to customize the margin of the maps.
101
101
  */
102
102
  margin?: MarginModel;
103
103
 
104
104
  /**
105
- * Sets and gets the options for customizing the color and width of the maps border.
105
+ * Gets or sets the options for customizing the style properties of the maps border.
106
106
  */
107
107
  border?: BorderModel;
108
108
 
109
109
  /**
110
- * Set and gets the theme supported for the maps.
110
+ * Gets or sets the theme styles supported for maps. When the theme is set, the styles associated with the theme will be set in the maps.
111
111
  *
112
112
  * @default Material
113
113
  */
114
114
  theme?: MapsTheme;
115
115
 
116
116
  /**
117
- * Sets and gets the projection type for the maps.
117
+ * Gets or sets the projection with which the maps will be rendered to show the two-dimensional curved surface of a globe on a plane.
118
118
  *
119
119
  * @default Mercator
120
120
  */
121
121
  projectionType?: ProjectionType;
122
122
 
123
123
  /**
124
- * Sets and gets the base map index of maps. It provides the option to select which layer to be visible in the maps.
124
+ * Gets or sets the index of the layer of maps which will be the base layer. It provides the option to select which layer to be visible in the maps.
125
125
  *
126
126
  * @default 0
127
127
  */
128
128
  baseLayerIndex?: number;
129
129
 
130
130
  /**
131
- * Sets and gets the description for maps.
131
+ * Gets or sets the description of the maps for assistive technology.
132
132
  *
133
133
  * @default null
134
134
  */
135
135
  description?: string;
136
136
 
137
137
  /**
138
- * Sets and gets the tab index value for the maps.
138
+ * Gets or sets the tab index value for the maps.
139
139
  *
140
140
  * @default 1
141
141
  */
142
142
  tabIndex?: number;
143
143
 
144
144
  /**
145
- * Sets and gets the center position of the maps.
145
+ * Gets or sets the center position of the maps.
146
146
  */
147
147
  centerPosition?: CenterPositionModel;
148
148
 
149
149
  /**
150
- * Sets and gets the options to customize the area around the map.
150
+ * Gets or sets the options to customize the area around the map.
151
151
  */
152
152
  mapsArea?: MapsAreaSettingsModel;
153
153
 
154
154
  /**
155
- * Triggers when the map is on load.
155
+ * Triggers before the maps gets rendered.
156
156
  *
157
157
  * @event load
158
158
  */
@@ -202,7 +202,7 @@ export interface MapsModel extends ComponentModel{
202
202
  rightClick?: EmitType<IMouseEventArgs>;
203
203
 
204
204
  /**
205
- * Triggers when resizing the maps.
205
+ * Triggers to notify the resize of the maps when the window is resized.
206
206
  *
207
207
  * @event resize
208
208
  */
@@ -232,28 +232,28 @@ export interface MapsModel extends ComponentModel{
232
232
  tooltipRenderComplete?: EmitType<ITooltipRenderCompleteEventArgs>;
233
233
 
234
234
  /**
235
- * Triggers when clicking a shape in maps.
235
+ * Triggers when a shape is selected in the maps.
236
236
  *
237
237
  * @event shapeSelected
238
238
  */
239
239
  shapeSelected?: EmitType<IShapeSelectedEventArgs>;
240
240
 
241
241
  /**
242
- * Triggers when clicking the shape on maps and before the selection is applied.
242
+ * Triggers before the shape, bubble or marker gets selected.
243
243
  *
244
244
  * @event itemSelection
245
245
  */
246
246
  itemSelection?: EmitType<ISelectionEventArgs>;
247
247
 
248
248
  /**
249
- * Trigger when mouse move on the shape in maps and before the shape gets highlighted.
249
+ * Trigger before the shape, bubble or marker gets highlighted.
250
250
  *
251
251
  * @event itemHighlight
252
252
  */
253
253
  itemHighlight?: EmitType<ISelectionEventArgs>;
254
254
 
255
255
  /**
256
- * Triggers when mouse move on the shape in maps and before the shape gets highlighted.
256
+ * Triggers before the shape gets highlighted.
257
257
  *
258
258
  * @event shapeHighlight
259
259
  */
@@ -288,12 +288,26 @@ export interface MapsModel extends ComponentModel{
288
288
  markerClusterRendering?: EmitType<IMarkerClusterRenderingEventArgs>;
289
289
 
290
290
  /**
291
- * Triggers when clicking on the maps marker element.
291
+ * Triggers when clicking on a marker element.
292
292
  *
293
293
  * @event markerClick
294
294
  */
295
295
  markerClick?: EmitType<IMarkerClickEventArgs>;
296
296
 
297
+ /**
298
+ * When the marker begins to drag on the map, this event is triggered.
299
+ *
300
+ * @event markerDragStart
301
+ */
302
+ markerDragStart?: EmitType<IMarkerDragEventArgs>;
303
+
304
+ /**
305
+ * When the marker has stopped dragging on the map, this event is triggered.
306
+ *
307
+ * @event markerDragEnd
308
+ */
309
+ markerDragEnd?: EmitType<IMarkerDragEventArgs>;
310
+
297
311
  /**
298
312
  * Triggers when clicking the marker cluster in maps.
299
313
  *
@@ -344,21 +358,21 @@ export interface MapsModel extends ComponentModel{
344
358
  bubbleMouseMove?: EmitType<IBubbleMoveEventArgs>;
345
359
 
346
360
  /**
347
- * Triggers after the animation completed in the maps component.
361
+ * Triggers after the animation is completed in the maps.
348
362
  *
349
363
  * @event animationComplete
350
364
  */
351
365
  animationComplete?: EmitType<IAnimationCompleteEventArgs>;
352
366
 
353
367
  /**
354
- * Triggers before rendering the annotation in maps.
368
+ * Triggers before rendering an annotation in the maps.
355
369
  *
356
370
  * @event annotationRendering
357
371
  */
358
372
  annotationRendering?: EmitType<IAnnotationRenderingEventArgs>;
359
373
 
360
374
  /**
361
- * Triggers before the zoom operations in the maps such as zoom in and zoom out.
375
+ * Triggers before the zoom operations such as zoom in and zoom out in the maps.
362
376
  *
363
377
  * @event zoom
364
378
  */