@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.
- package/.eslintrc.json +18 -3
- package/.github/PULL_REQUEST_TEMPLATE/Bug.md +72 -72
- package/.github/PULL_REQUEST_TEMPLATE/Feature.md +49 -49
- package/CHANGELOG.md +441 -422
- package/README.md +73 -73
- package/dist/ej2-maps.umd.min.js +1 -10
- package/dist/ej2-maps.umd.min.js.map +1 -1
- package/dist/es6/ej2-maps.es2015.js +1220 -653
- package/dist/es6/ej2-maps.es2015.js.map +1 -1
- package/dist/es6/ej2-maps.es5.js +1258 -692
- package/dist/es6/ej2-maps.es5.js.map +1 -1
- package/dist/global/ej2-maps.min.js +1 -10
- package/dist/global/ej2-maps.min.js.map +1 -1
- package/dist/global/index.d.ts +0 -9
- package/dist/ts/maps/layers/bing-map.ts +50 -0
- package/dist/ts/maps/layers/bubble.ts +290 -0
- package/dist/ts/maps/layers/color-mapping.ts +226 -0
- package/dist/ts/maps/layers/data-label.ts +418 -0
- package/dist/ts/maps/layers/layer-panel.ts +1480 -0
- package/dist/ts/maps/layers/legend.ts +2236 -0
- package/dist/ts/maps/layers/marker.ts +453 -0
- package/dist/ts/maps/layers/navigation-selected-line.ts +167 -0
- package/dist/ts/maps/maps.ts +2886 -0
- package/dist/ts/maps/model/base.ts +1843 -0
- package/dist/ts/maps/model/constants.ts +200 -0
- package/dist/ts/maps/model/export-image.ts +178 -0
- package/dist/ts/maps/model/export-pdf.ts +170 -0
- package/dist/ts/maps/model/interface.ts +823 -0
- package/dist/ts/maps/model/print.ts +104 -0
- package/dist/ts/maps/model/theme.ts +554 -0
- package/dist/ts/maps/user-interaction/annotation.ts +127 -0
- package/dist/ts/maps/user-interaction/highlight.ts +233 -0
- package/dist/ts/maps/user-interaction/selection.ts +321 -0
- package/dist/ts/maps/user-interaction/tooltip.ts +387 -0
- package/dist/ts/maps/user-interaction/zoom.ts +1767 -0
- package/dist/ts/maps/utils/enum.ts +368 -0
- package/dist/ts/maps/utils/helper.ts +3421 -0
- package/helper/e2e/index.js +3 -3
- package/helper/e2e/maps-helper.js +13 -13
- package/license +9 -9
- package/package.json +85 -85
- package/src/maps/layers/bing-map.d.ts +4 -0
- package/src/maps/layers/bing-map.js +16 -3
- package/src/maps/layers/bubble.d.ts +1 -2
- package/src/maps/layers/bubble.js +7 -12
- package/src/maps/layers/data-label.d.ts +1 -4
- package/src/maps/layers/data-label.js +32 -35
- package/src/maps/layers/layer-panel.d.ts +18 -1
- package/src/maps/layers/layer-panel.js +226 -72
- package/src/maps/layers/legend.d.ts +5 -2
- package/src/maps/layers/legend.js +170 -61
- package/src/maps/layers/marker.d.ts +2 -4
- package/src/maps/layers/marker.js +49 -48
- package/src/maps/layers/navigation-selected-line.d.ts +1 -2
- package/src/maps/layers/navigation-selected-line.js +7 -13
- package/src/maps/maps-model.d.ts +259 -251
- package/src/maps/maps.d.ts +25 -3
- package/src/maps/maps.js +179 -106
- package/src/maps/model/base-model.d.ts +1025 -1021
- package/src/maps/model/base.d.ts +5 -1
- package/src/maps/model/base.js +24 -24
- package/src/maps/model/constants.d.ts +6 -0
- package/src/maps/model/constants.js +6 -0
- package/src/maps/model/export-image.d.ts +2 -4
- package/src/maps/model/export-image.js +34 -33
- package/src/maps/model/export-pdf.d.ts +4 -6
- package/src/maps/model/export-pdf.js +31 -32
- package/src/maps/model/interface.d.ts +34 -26
- package/src/maps/model/print.d.ts +2 -5
- package/src/maps/model/print.js +32 -18
- package/src/maps/model/theme.js +7 -4
- package/src/maps/user-interaction/annotation.d.ts +1 -2
- package/src/maps/user-interaction/annotation.js +3 -4
- package/src/maps/user-interaction/highlight.d.ts +1 -2
- package/src/maps/user-interaction/highlight.js +11 -10
- package/src/maps/user-interaction/selection.d.ts +1 -2
- package/src/maps/user-interaction/selection.js +42 -19
- package/src/maps/user-interaction/tooltip.d.ts +3 -5
- package/src/maps/user-interaction/tooltip.js +27 -14
- package/src/maps/user-interaction/zoom.d.ts +3 -8
- package/src/maps/user-interaction/zoom.js +282 -162
- package/src/maps/utils/enum.d.ts +5 -1
- package/src/maps/utils/helper.d.ts +9 -1
- package/src/maps/utils/helper.js +82 -33
|
@@ -12,102 +12,103 @@ var Marker = /** @class */ (function () {
|
|
|
12
12
|
this.trackElements = [];
|
|
13
13
|
this.sameMarkerData = [];
|
|
14
14
|
}
|
|
15
|
-
Marker.prototype.markerRender = function (layerElement, layerIndex, factor, type) {
|
|
15
|
+
Marker.prototype.markerRender = function (maps, layerElement, layerIndex, factor, type) {
|
|
16
16
|
var _this = this;
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
18
|
var templateFn;
|
|
19
19
|
var markerCount = 0;
|
|
20
20
|
var nullCount = 0;
|
|
21
21
|
var markerTemplateCount = 0;
|
|
22
|
-
|
|
23
|
-
var currentLayer =
|
|
24
|
-
this.markerSVGObject =
|
|
25
|
-
id:
|
|
22
|
+
maps.translateType = 'marker';
|
|
23
|
+
var currentLayer = maps.layersCollection[layerIndex];
|
|
24
|
+
this.markerSVGObject = maps.renderer.createGroup({
|
|
25
|
+
id: maps.element.id + '_Markers_Group',
|
|
26
26
|
class: 'GroupElement',
|
|
27
27
|
style: 'pointer-events: auto;'
|
|
28
28
|
});
|
|
29
29
|
var markerTemplateEle = createElement('div', {
|
|
30
|
-
id:
|
|
31
|
-
className:
|
|
30
|
+
id: maps.element.id + '_LayerIndex_' + layerIndex + '_Markers_Template_Group',
|
|
31
|
+
className: maps.element.id + '_template',
|
|
32
32
|
styles: 'overflow: hidden; position: absolute;pointer-events: none;' +
|
|
33
|
-
'top:' +
|
|
34
|
-
'left:' +
|
|
35
|
-
'height:' +
|
|
36
|
-
'width:' +
|
|
33
|
+
'top:' + maps.mapAreaRect.y + 'px;' +
|
|
34
|
+
'left:' + maps.mapAreaRect.x + 'px;' +
|
|
35
|
+
'height:' + maps.mapAreaRect.height + 'px;' +
|
|
36
|
+
'width:' + maps.mapAreaRect.width + 'px;'
|
|
37
37
|
});
|
|
38
38
|
currentLayer.markerSettings.map(function (markerSettings, markerIndex) {
|
|
39
39
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
40
|
var markerData = markerSettings.dataSource;
|
|
41
41
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
42
|
Array.prototype.forEach.call(markerData, function (data, dataIndex) {
|
|
43
|
-
|
|
43
|
+
maps.markerNullCount = markerIndex > 0 && dataIndex === 0 ? 0 : maps.markerNullCount;
|
|
44
44
|
var eventArgs = {
|
|
45
45
|
cancel: false, name: markerRendering, fill: markerSettings.fill, height: markerSettings.height,
|
|
46
46
|
width: markerSettings.width, imageUrl: markerSettings.imageUrl, shape: markerSettings.shape,
|
|
47
|
-
template: markerSettings.template, data: data, maps:
|
|
47
|
+
template: markerSettings.template, data: data, maps: maps, marker: markerSettings,
|
|
48
48
|
border: markerSettings.border, colorValuePath: markerSettings.colorValuePath,
|
|
49
49
|
shapeValuePath: markerSettings.shapeValuePath, imageUrlValuePath: markerSettings.imageUrlValuePath
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
maps.trigger('markerRendering', eventArgs, function (MarkerArgs) {
|
|
52
52
|
eventArgs = markerColorChoose(eventArgs, data);
|
|
53
53
|
eventArgs = markerShapeChoose(eventArgs, data);
|
|
54
54
|
var lng = (!isNullOrUndefined(markerSettings.longitudeValuePath)) ?
|
|
55
55
|
Number(getValueFromObject(data, markerSettings.longitudeValuePath)) : !isNullOrUndefined(data['longitude']) ?
|
|
56
|
-
parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) :
|
|
56
|
+
parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) : null;
|
|
57
57
|
var lat = (!isNullOrUndefined(markerSettings.latitudeValuePath)) ?
|
|
58
58
|
Number(getValueFromObject(data, markerSettings.latitudeValuePath)) : !isNullOrUndefined(data['latitude']) ?
|
|
59
|
-
parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? parseFloat(data['Latitude']) :
|
|
59
|
+
parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? parseFloat(data['Latitude']) : null;
|
|
60
60
|
var offset = markerSettings.offset;
|
|
61
61
|
if (!eventArgs.cancel && markerSettings.visible && !isNullOrUndefined(lng) && !isNullOrUndefined(lat)) {
|
|
62
|
-
var markerID =
|
|
62
|
+
var markerID = maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
|
|
63
63
|
+ markerIndex + '_dataIndex_' + dataIndex;
|
|
64
|
-
var location_1 = (
|
|
65
|
-
var animate = currentLayer.animationDuration !== 0 || isNullOrUndefined(
|
|
64
|
+
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 || isNullOrUndefined(maps.zoomModule);
|
|
66
66
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
-
var translate = (
|
|
68
|
-
!isNullOrUndefined(
|
|
69
|
-
getZoomTranslate(
|
|
70
|
-
getTranslate(
|
|
71
|
-
var scale = type === 'AddMarker' ?
|
|
72
|
-
var transPoint = type === 'AddMarker' ?
|
|
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'];
|
|
73
73
|
if (eventArgs.template && (!isNaN(location_1.x) && !isNaN(location_1.y))) {
|
|
74
74
|
markerTemplateCount++;
|
|
75
|
-
markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplateEle, location_1, transPoint, scale, offset,
|
|
75
|
+
markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplateEle, location_1, transPoint, scale, offset, maps);
|
|
76
76
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
-
|
|
77
|
+
maps.renderReactTemplates();
|
|
78
78
|
}
|
|
79
79
|
else if (!eventArgs.template && (!isNaN(location_1.x) && !isNaN(location_1.y))) {
|
|
80
80
|
markerCount++;
|
|
81
|
-
marker(eventArgs, markerSettings, markerData, dataIndex, location_1, transPoint, markerID, offset, scale,
|
|
81
|
+
marker(eventArgs, markerSettings, markerData, dataIndex, location_1, transPoint, markerID, offset, scale, maps, _this.markerSVGObject);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
nullCount += (!isNaN(lat) && !isNaN(lng)) ? 0 : 1;
|
|
85
85
|
markerTemplateCount += (eventArgs.cancel) ? 1 : 0;
|
|
86
86
|
markerCount += (eventArgs.cancel) ? 1 : 0;
|
|
87
|
-
|
|
88
|
-
var markerDataLength = markerData.length -
|
|
87
|
+
maps.markerNullCount = (isNullOrUndefined(lng) || isNullOrUndefined(lat)) ? maps.markerNullCount + 1 : maps.markerNullCount;
|
|
88
|
+
var markerDataLength = markerData.length - maps.markerNullCount;
|
|
89
89
|
if (_this.markerSVGObject.childElementCount === (markerDataLength - markerTemplateCount - nullCount) && (type !== 'Template')) {
|
|
90
90
|
layerElement.appendChild(_this.markerSVGObject);
|
|
91
91
|
if (currentLayer.markerClusterSettings.allowClustering) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (currentLayer.layerType
|
|
95
|
-
|
|
92
|
+
maps.svgObject.appendChild(_this.markerSVGObject);
|
|
93
|
+
maps.element.appendChild(maps.svgObject);
|
|
94
|
+
if ((currentLayer.layerType === 'OSM' || (currentLayer.urlTemplate.indexOf('openstreetmap') !== -1 && isNullOrUndefined(currentLayer.shapeData)))
|
|
95
|
+
&& maps.zoomSettings.enable) {
|
|
96
|
+
layerElement.appendChild(_this.markerSVGObject);
|
|
96
97
|
}
|
|
97
98
|
else {
|
|
98
|
-
|
|
99
|
+
clusterTemplate(currentLayer, _this.markerSVGObject, maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
|
|
99
100
|
}
|
|
100
101
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
101
|
-
|
|
102
|
+
maps.renderReactTemplates();
|
|
102
103
|
}
|
|
103
104
|
}
|
|
104
|
-
if (markerTemplateEle.childElementCount === (
|
|
105
|
-
getElementByID(
|
|
106
|
-
if (
|
|
105
|
+
if (markerTemplateEle.childElementCount === (markerDataLength - markerCount - nullCount) && getElementByID(maps.element.id + '_Secondary_Element')) {
|
|
106
|
+
getElementByID(maps.element.id + '_Secondary_Element').appendChild(markerTemplateEle);
|
|
107
|
+
if (maps.checkInitialRender) {
|
|
107
108
|
if (currentLayer.markerClusterSettings.allowClustering) {
|
|
108
|
-
clusterTemplate(currentLayer, markerTemplateEle,
|
|
109
|
+
clusterTemplate(currentLayer, markerTemplateEle, maps, layerIndex, _this.markerSVGObject, layerElement, false, false);
|
|
109
110
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
110
|
-
|
|
111
|
+
maps.renderReactTemplates();
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
}
|
|
@@ -353,8 +354,8 @@ var Marker = /** @class */ (function () {
|
|
|
353
354
|
}
|
|
354
355
|
if ((target.indexOf('_cluster_') > -1)) {
|
|
355
356
|
var isClusterSame = false;
|
|
356
|
-
var clusterElement = document.getElementById(target.indexOf('_datalabel_') > -1 ? target.split('_datalabel_')[0] : target);
|
|
357
|
-
var indexes = clusterElement.innerHTML.split(',').map(Number);
|
|
357
|
+
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);
|
|
358
|
+
var indexes = layer.markerClusterSettings.shape === 'Balloon' ? clusterElement.children[0].innerHTML.split(',').map(Number) : clusterElement.innerHTML.split(',').map(Number);
|
|
358
359
|
collection_1 = [];
|
|
359
360
|
for (var _i = 0, indexes_1 = indexes; _i < indexes_1.length; _i++) {
|
|
360
361
|
var i = indexes_1[_i];
|
|
@@ -423,14 +424,14 @@ var Marker = /** @class */ (function () {
|
|
|
423
424
|
/**
|
|
424
425
|
* To destroy the layers.
|
|
425
426
|
*
|
|
426
|
-
* @param {Maps} maps - Specifies the instance of the map
|
|
427
427
|
* @returns {void}
|
|
428
428
|
* @private
|
|
429
429
|
*/
|
|
430
|
-
Marker.prototype.destroy = function (
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
430
|
+
Marker.prototype.destroy = function () {
|
|
431
|
+
this.maps = null;
|
|
432
|
+
this.trackElements = [];
|
|
433
|
+
this.markerSVGObject = null;
|
|
434
|
+
this.sameMarkerData = [];
|
|
434
435
|
};
|
|
435
436
|
return Marker;
|
|
436
437
|
}());
|
|
@@ -29,9 +29,6 @@ var NavigationLine = /** @class */ (function () {
|
|
|
29
29
|
var dashArray;
|
|
30
30
|
var pathOption;
|
|
31
31
|
var direction;
|
|
32
|
-
var markerWidth;
|
|
33
|
-
var arcId;
|
|
34
|
-
var radius;
|
|
35
32
|
var showArrow;
|
|
36
33
|
var arrowColor;
|
|
37
34
|
var arrowSize;
|
|
@@ -69,8 +66,8 @@ var NavigationLine = /** @class */ (function () {
|
|
|
69
66
|
for (var j = 0; j < point['length'] - 1; j++) {
|
|
70
67
|
angle = (-1 > angle) ? -1 : angle;
|
|
71
68
|
angle = (1 < angle) ? 1 : angle;
|
|
72
|
-
var
|
|
73
|
-
var
|
|
69
|
+
var arcId = this.maps.element.id + '_LayerIndex_' + layerIndex + '_NavigationIndex_' + i + '_Line' + j + '';
|
|
70
|
+
var radius = this.convertRadius(point[j], point[j + 1]);
|
|
74
71
|
if (angle <= 1 && angle > 0) {
|
|
75
72
|
direction = 0;
|
|
76
73
|
if (point[j]['x'] > point[j + 1]['x']) {
|
|
@@ -115,10 +112,10 @@ var NavigationLine = /** @class */ (function () {
|
|
|
115
112
|
angle = Math.abs(angle);
|
|
116
113
|
d = (angle === 0) ? 'M ' + point[j]['x'] + ',' + point[j]['y'] + 'L ' + point[j + 1]['x']
|
|
117
114
|
+ ',' + point[j + 1]['y'] + ' ' :
|
|
118
|
-
'M ' + point[j]['x'] + ',' + point[j]['y'] + ' A ' + (
|
|
119
|
-
' ' + (
|
|
115
|
+
'M ' + point[j]['x'] + ',' + point[j]['y'] + ' A ' + (radius / 2 + (1 - angle) * radius / (angle * 10)) +
|
|
116
|
+
' ' + (radius / 2 + (1 - angle) * radius / (angle * 10)) + ' ' + 0 + ',' + 0 + ','
|
|
120
117
|
+ direction + ' , ' + point[j + 1]['x'] + ',' + point[j + 1]['y'] + ' ';
|
|
121
|
-
pathOption = new PathOption(
|
|
118
|
+
pathOption = new PathOption(arcId, 'none', width, color, 1, 1, dashArray, d);
|
|
122
119
|
navigationEle = this.maps.renderer.drawPath(pathOption);
|
|
123
120
|
if (!isNullOrUndefined(arrowPosition)) {
|
|
124
121
|
var position = (arrowPosition === 'Start') ? navigationEle.setAttribute('marker-start', startArrow)
|
|
@@ -151,14 +148,11 @@ var NavigationLine = /** @class */ (function () {
|
|
|
151
148
|
/**
|
|
152
149
|
* To destroy the layers.
|
|
153
150
|
*
|
|
154
|
-
* @param {Maps} maps - Specifies the instance of the map
|
|
155
151
|
* @returns {void}
|
|
156
152
|
* @private
|
|
157
153
|
*/
|
|
158
|
-
NavigationLine.prototype.destroy = function (
|
|
159
|
-
|
|
160
|
-
* Destroy method performed here
|
|
161
|
-
*/
|
|
154
|
+
NavigationLine.prototype.destroy = function () {
|
|
155
|
+
this.maps = null;
|
|
162
156
|
};
|
|
163
157
|
return NavigationLine;
|
|
164
158
|
}());
|