@acorex/cdk 18.10.4 → 18.10.5
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/esm2022/map/acorex-cdk-map.mjs +5 -0
- package/esm2022/map/index.mjs +2 -0
- package/esm2022/map/map.class.mjs +132 -0
- package/fesm2022/acorex-cdk-map.mjs +139 -0
- package/fesm2022/acorex-cdk-map.mjs.map +1 -0
- package/map/README.md +3 -0
- package/map/index.d.ts +1 -0
- package/map/map.class.d.ts +30 -0
- package/package.json +16 -7
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNkay1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9tYXAvc3JjL2Fjb3JleC1jZGstbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './map.class';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9tYXAvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXAuY2xhc3MnO1xuIl19
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as L from 'leaflet';
|
|
3
|
+
import 'leaflet-draw';
|
|
4
|
+
import 'leaflet.locatecontrol';
|
|
5
|
+
export class AXLeafletService {
|
|
6
|
+
constructor(mapElement, location, zoom) {
|
|
7
|
+
this.drawnItems = new L.FeatureGroup();
|
|
8
|
+
this.onMarkerAdded = new EventEmitter();
|
|
9
|
+
this.onLocationFound = new EventEmitter();
|
|
10
|
+
const map = L.map(mapElement).setView([location.latitude, location.longitude], zoom);
|
|
11
|
+
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
12
|
+
maxZoom: 18,
|
|
13
|
+
attribution: '© ACoreX',
|
|
14
|
+
}).addTo(map);
|
|
15
|
+
this.drawnItems.addTo(map);
|
|
16
|
+
this.map = map;
|
|
17
|
+
}
|
|
18
|
+
getMap() {
|
|
19
|
+
return this.map;
|
|
20
|
+
}
|
|
21
|
+
setZoomLevel(zoom) {
|
|
22
|
+
this.map.setZoom(zoom);
|
|
23
|
+
}
|
|
24
|
+
setCenter(location) {
|
|
25
|
+
this.map.setView([location.latitude, location.longitude], this.map.getZoom());
|
|
26
|
+
}
|
|
27
|
+
flyTo(location, zoom, setMarker = false, duration = 1.0) {
|
|
28
|
+
if (this.map) {
|
|
29
|
+
this.map.flyTo([location.latitude, location.longitude], zoom || this.map.getZoom(), {
|
|
30
|
+
animate: true,
|
|
31
|
+
duration: duration,
|
|
32
|
+
});
|
|
33
|
+
this.map.once('moveend', () => {
|
|
34
|
+
if (setMarker) {
|
|
35
|
+
this.addMarker(location);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
addMarker(locations) {
|
|
41
|
+
const locationsArray = Array.isArray(locations) ? locations : [locations];
|
|
42
|
+
locationsArray.forEach((location) => {
|
|
43
|
+
L.marker([location.latitude, location.longitude]).addTo(this.drawnItems);
|
|
44
|
+
this.onMarkerAdded.emit(location);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
getMarkers() {
|
|
48
|
+
return this.drawnItems
|
|
49
|
+
.getLayers()
|
|
50
|
+
.filter((layer) => layer instanceof L.Marker)
|
|
51
|
+
.map((marker) => {
|
|
52
|
+
const latLng = marker.getLatLng();
|
|
53
|
+
return {
|
|
54
|
+
latitude: latLng.lat,
|
|
55
|
+
longitude: latLng.lng,
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
addDrawControl(position = 'topleft') {
|
|
60
|
+
const drawControl = new L.Control.Draw({
|
|
61
|
+
position: position,
|
|
62
|
+
edit: {
|
|
63
|
+
featureGroup: this.drawnItems,
|
|
64
|
+
},
|
|
65
|
+
draw: {
|
|
66
|
+
polygon: false,
|
|
67
|
+
polyline: false,
|
|
68
|
+
rectangle: false,
|
|
69
|
+
circle: false,
|
|
70
|
+
circlemarker: false,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
this.drawControl = drawControl;
|
|
74
|
+
this.map.addControl(drawControl);
|
|
75
|
+
this.map.on(L.Draw.Event.CREATED, (event) => {
|
|
76
|
+
const layer = event.layer;
|
|
77
|
+
this.drawnItems.addLayer(layer);
|
|
78
|
+
const latLng = event.layer.getLatLng();
|
|
79
|
+
this.onMarkerAdded.emit({ latitude: latLng.lat, longitude: latLng.lng });
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
addLocateControl(position = 'bottomright') {
|
|
83
|
+
const locateControl = L.control
|
|
84
|
+
.locate({
|
|
85
|
+
position: position,
|
|
86
|
+
flyTo: true,
|
|
87
|
+
setView: 'untilPanOrZoom',
|
|
88
|
+
showPopup: true,
|
|
89
|
+
onLocationError: (e) => alert(e.message),
|
|
90
|
+
onLocationOutsideMapBounds: (control) => control.stop(),
|
|
91
|
+
locateOptions: {
|
|
92
|
+
enableHighAccuracy: true,
|
|
93
|
+
},
|
|
94
|
+
strings: {
|
|
95
|
+
title: 'Show my location',
|
|
96
|
+
popup: 'You are within {distance} meters from this point',
|
|
97
|
+
outsideMapBoundsMsg: 'You seem to be outside the map bounds',
|
|
98
|
+
},
|
|
99
|
+
})
|
|
100
|
+
.addTo(this.map);
|
|
101
|
+
this.locateControl = locateControl;
|
|
102
|
+
this.map.on('locationfound', (event) => {
|
|
103
|
+
const location = {
|
|
104
|
+
latitude: event.latitude,
|
|
105
|
+
longitude: event.longitude,
|
|
106
|
+
precision: event.accuracy,
|
|
107
|
+
};
|
|
108
|
+
this.onLocationFound.emit(location);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
removeDrawControl() {
|
|
112
|
+
if (this.drawControl) {
|
|
113
|
+
this.map.removeControl(this.drawControl);
|
|
114
|
+
this.drawnItems.clearLayers();
|
|
115
|
+
this.drawControl = undefined;
|
|
116
|
+
this.map.off(L.Draw.Event.CREATED);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
removeLocateControl() {
|
|
120
|
+
if (this.locateControl) {
|
|
121
|
+
this.map.removeControl(this.locateControl);
|
|
122
|
+
this.locateControl = undefined;
|
|
123
|
+
this.map.off('locationfound');
|
|
124
|
+
this.map.off('locationerror');
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
destroyMap() {
|
|
128
|
+
this.map.off();
|
|
129
|
+
this.map.remove();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvbWFwL3NyYy9tYXAuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFNBQVMsQ0FBQztBQUM3QixPQUFPLGNBQWMsQ0FBQztBQUN0QixPQUFPLHVCQUF1QixDQUFDO0FBVS9CLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsWUFBWSxVQUF3QixFQUFFLFFBQXdCLEVBQUUsSUFBYTtRQUpyRSxlQUFVLEdBQW1CLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDbEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUcxRCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJGLENBQUMsQ0FBQyxTQUFTLENBQUMsb0RBQW9ELEVBQUU7WUFDaEUsT0FBTyxFQUFFLEVBQUU7WUFDWCxXQUFXLEVBQUUsVUFBVTtTQUN4QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FB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bWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LWRyYXcnO1xuaW1wb3J0ICdsZWFmbGV0LmxvY2F0ZWNvbnRyb2wnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYTWFwTG9jYXRpb24ge1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICB0aXRsZT86IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIEFYTWFwQ29udHJvbFBsYWNlID0gJ3RvcGxlZnQnIHwgJ3RvcHJpZ2h0JyB8ICdib3R0b21sZWZ0JyB8ICdib3R0b21yaWdodCc7XG5cbmV4cG9ydCBjbGFzcyBBWExlYWZsZXRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBMLk1hcDtcbiAgcHJpdmF0ZSBkcmF3Q29udHJvbD86IEwuQ29udHJvbC5EcmF3O1xuICBwcml2YXRlIGxvY2F0ZUNvbnRyb2w/OiBMLkNvbnRyb2wuTG9jYXRlO1xuICBwcml2YXRlIGRyYXduSXRlbXM6IEwuRmVhdHVyZUdyb3VwID0gbmV3IEwuRmVhdHVyZUdyb3VwKCk7XG4gIHByaXZhdGUgb25NYXJrZXJBZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QVhNYXBMb2NhdGlvbj4oKTtcbiAgcHJpdmF0ZSBvbkxvY2F0aW9uRm91bmQgPSBuZXcgRXZlbnRFbWl0dGVyPEFYTWFwTG9jYXRpb24+KCk7XG5cbiAgY29uc3RydWN0b3IobWFwRWxlbWVudD86IEhUTUxFbGVtZW50LCBsb2NhdGlvbj86IEFYTWFwTG9jYXRpb24sIHpvb20/OiBudW1iZXIpIHtcbiAgICBjb25zdCBtYXAgPSBMLm1hcChtYXBFbGVtZW50KS5zZXRWaWV3KFtsb2NhdGlvbi5sYXRpdHVkZSwgbG9jYXRpb24ubG9uZ2l0dWRlXSwgem9vbSk7XG5cbiAgICBMLnRpbGVMYXllcignaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7XG4gICAgICBtYXhab29tOiAxOCxcbiAgICAgIGF0dHJpYnV0aW9uOiAnwqkgQUNvcmVYJyxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgdGhpcy5kcmF3bkl0ZW1zLmFkZFRvKG1hcCk7XG4gICAgdGhpcy5tYXAgPSBtYXA7XG4gIH1cblxuICBnZXRNYXAoKTogTC5NYXAge1xuICAgIHJldHVybiB0aGlzLm1hcDtcbiAgfVxuXG4gIHNldFpvb21MZXZlbCh6b29tOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm1hcC5zZXRab29tKHpvb20pO1xuICB9XG5cbiAgc2V0Q2VudGVyKGxvY2F0aW9uOiBBWE1hcExvY2F0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5tYXAuc2V0VmlldyhbbG9jYXRpb24ubGF0aXR1ZGUsIGxvY2F0aW9uLmxvbmdpdHVkZV0sIHRoaXMubWFwLmdldFpvb20oKSk7XG4gIH1cblxuICBmbHlUbyhsb2NhdGlvbjogQVhNYXBMb2NhdGlvbiwgem9vbT86IG51bWJlciwgc2V0TWFya2VyID0gZmFsc2UsIGR1cmF0aW9uID0gMS4wKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWFwKSB7XG4gICAgICB0aGlzLm1hcC5mbHlUbyhbbG9jYXRpb24ubGF0aXR1ZGUsIGxvY2F0aW9uLmxvbmdpdHVkZV0sIHpvb20gfHwgdGhpcy5tYXAuZ2V0Wm9vbSgpLCB7XG4gICAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tYXAub25jZSgnbW92ZWVuZCcsICgpID0+IHtcbiAgICAgICAgaWYgKHNldE1hcmtlcikge1xuICAgICAgICAgIHRoaXMuYWRkTWFya2VyKGxvY2F0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYWRkTWFya2VyKGxvY2F0aW9uczogQVhNYXBMb2NhdGlvbiB8IEFYTWFwTG9jYXRpb25bXSk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2F0aW9uc0FycmF5ID0gQXJyYXkuaXNBcnJheShsb2NhdGlvbnMpID8gbG9jYXRpb25zIDogW2xvY2F0aW9uc107XG4gICAgbG9jYXRpb25zQXJyYXkuZm9yRWFjaCgobG9jYXRpb24pID0+IHtcbiAgICAgIEwubWFya2VyKFtsb2NhdGlvbi5sYXRpdHVkZSwgbG9jYXRpb24ubG9uZ2l0dWRlXSkuYWRkVG8odGhpcy5kcmF3bkl0ZW1zKTtcbiAgICAgIHRoaXMub25NYXJrZXJBZGRlZC5lbWl0KGxvY2F0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldE1hcmtlcnMoKTogQVhNYXBMb2NhdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5kcmF3bkl0ZW1zXG4gICAgICAuZ2V0TGF5ZXJzKClcbiAgICAgIC5maWx0ZXIoKGxheWVyKSA9PiBsYXllciBpbnN0YW5jZW9mIEwuTWFya2VyKVxuICAgICAgLm1hcCgobWFya2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhdExuZyA9IChtYXJrZXIgYXMgTC5NYXJrZXIpLmdldExhdExuZygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxhdGl0dWRlOiBsYXRMbmcubGF0LFxuICAgICAgICAgIGxvbmdpdHVkZTogbGF0TG5nLmxuZyxcbiAgICAgICAgfSBhcyBBWE1hcExvY2F0aW9uO1xuICAgICAgfSk7XG4gIH1cblxuICBhZGREcmF3Q29udHJvbChwb3NpdGlvbjogQVhNYXBDb250cm9sUGxhY2UgPSAndG9wbGVmdCcpOiB2b2lkIHtcbiAgICBjb25zdCBkcmF3Q29udHJvbCA9IG5ldyBMLkNvbnRyb2wuRHJhdyh7XG4gICAgICBwb3NpdGlvbjogcG9zaXRpb24sXG4gICAgICBlZGl0OiB7XG4gICAgICAgIGZlYXR1cmVHcm91cDogdGhpcy5kcmF3bkl0ZW1zLFxuICAgICAgfSxcbiAgICAgIGRyYXc6IHtcbiAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgIHBvbHlsaW5lOiBmYWxzZSxcbiAgICAgICAgcmVjdGFuZ2xlOiBmYWxzZSxcbiAgICAgICAgY2lyY2xlOiBmYWxzZSxcbiAgICAgICAgY2lyY2xlbWFya2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5kcmF3Q29udHJvbCA9IGRyYXdDb250cm9sO1xuICAgIHRoaXMubWFwLmFkZENvbnRyb2woZHJhd0NvbnRyb2wpO1xuICAgIHRoaXMubWFwLm9uKEwuRHJhdy5FdmVudC5DUkVBVEVELCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgY29uc3QgbGF5ZXIgPSBldmVudC5sYXllcjtcbiAgICAgIHRoaXMuZHJhd25JdGVtcy5hZGRMYXllcihsYXllcik7XG4gICAgICBjb25zdCBsYXRMbmcgPSBldmVudC5sYXllci5nZXRMYXRMbmcoKTtcbiAgICAgIHRoaXMub25NYXJrZXJBZGRlZC5lbWl0KHsgbGF0aXR1ZGU6IGxhdExuZy5sYXQsIGxvbmdpdHVkZTogbGF0TG5nLmxuZyB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZExvY2F0ZUNvbnRyb2wocG9zaXRpb246IEFYTWFwQ29udHJvbFBsYWNlID0gJ2JvdHRvbXJpZ2h0Jyk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2F0ZUNvbnRyb2wgPSBMLmNvbnRyb2xcbiAgICAgIC5sb2NhdGUoe1xuICAgICAgICBwb3NpdGlvbjogcG9zaXRpb24sXG4gICAgICAgIGZseVRvOiB0cnVlLFxuICAgICAgICBzZXRWaWV3OiAndW50aWxQYW5Pclpvb20nLFxuICAgICAgICBzaG93UG9wdXA6IHRydWUsXG4gICAgICAgIG9uTG9jYXRpb25FcnJvcjogKGUpID0+IGFsZXJ0KGUubWVzc2FnZSksXG4gICAgICAgIG9uTG9jYXRpb25PdXRzaWRlTWFwQm91bmRzOiAoY29udHJvbCkgPT4gY29udHJvbC5zdG9wKCksXG4gICAgICAgIGxvY2F0ZU9wdGlvbnM6IHtcbiAgICAgICAgICBlbmFibGVIaWdoQWNjdXJhY3k6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHN0cmluZ3M6IHtcbiAgICAgICAgICB0aXRsZTogJ1Nob3cgbXkgbG9jYXRpb24nLFxuICAgICAgICAgIHBvcHVwOiAnWW91IGFyZSB3aXRoaW4ge2Rpc3RhbmNlfSBtZXRlcnMgZnJvbSB0aGlzIHBvaW50JyxcbiAgICAgICAgICBvdXRzaWRlTWFwQm91bmRzTXNnOiAnWW91IHNlZW0gdG8gYmUgb3V0c2lkZSB0aGUgbWFwIGJvdW5kcycsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLmFkZFRvKHRoaXMubWFwKTtcblxuICAgIHRoaXMubG9jYXRlQ29udHJvbCA9IGxvY2F0ZUNvbnRyb2w7XG5cbiAgICB0aGlzLm1hcC5vbignbG9jYXRpb25mb3VuZCcsIChldmVudDogYW55KSA9PiB7XG4gICAgICBjb25zdCBsb2NhdGlvbjogQVhNYXBMb2NhdGlvbiA9IHtcbiAgICAgICAgbGF0aXR1ZGU6IGV2ZW50LmxhdGl0dWRlLFxuICAgICAgICBsb25naXR1ZGU6IGV2ZW50LmxvbmdpdHVkZSxcbiAgICAgICAgcHJlY2lzaW9uOiBldmVudC5hY2N1cmFjeSxcbiAgICAgIH07XG4gICAgICB0aGlzLm9uTG9jYXRpb25Gb3VuZC5lbWl0KGxvY2F0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZURyYXdDb250cm9sKCkge1xuICAgIGlmICh0aGlzLmRyYXdDb250cm9sKSB7XG4gICAgICB0aGlzLm1hcC5yZW1vdmVDb250cm9sKHRoaXMuZHJhd0NvbnRyb2wpO1xuICAgICAgdGhpcy5kcmF3bkl0ZW1zLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB0aGlzLmRyYXdDb250cm9sID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5tYXAub2ZmKEwuRHJhdy5FdmVudC5DUkVBVEVEKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVMb2NhdGVDb250cm9sKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvY2F0ZUNvbnRyb2wpIHtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUNvbnRyb2wodGhpcy5sb2NhdGVDb250cm9sKTtcbiAgICAgIHRoaXMubG9jYXRlQ29udHJvbCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMubWFwLm9mZignbG9jYXRpb25mb3VuZCcpO1xuICAgICAgdGhpcy5tYXAub2ZmKCdsb2NhdGlvbmVycm9yJyk7XG4gICAgfVxuICB9XG5cbiAgZGVzdHJveU1hcCgpIHtcbiAgICB0aGlzLm1hcC5vZmYoKTtcbiAgICB0aGlzLm1hcC5yZW1vdmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as L from 'leaflet';
|
|
3
|
+
import 'leaflet-draw';
|
|
4
|
+
import 'leaflet.locatecontrol';
|
|
5
|
+
|
|
6
|
+
class AXLeafletService {
|
|
7
|
+
constructor(mapElement, location, zoom) {
|
|
8
|
+
this.drawnItems = new L.FeatureGroup();
|
|
9
|
+
this.onMarkerAdded = new EventEmitter();
|
|
10
|
+
this.onLocationFound = new EventEmitter();
|
|
11
|
+
const map = L.map(mapElement).setView([location.latitude, location.longitude], zoom);
|
|
12
|
+
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
13
|
+
maxZoom: 18,
|
|
14
|
+
attribution: '© ACoreX',
|
|
15
|
+
}).addTo(map);
|
|
16
|
+
this.drawnItems.addTo(map);
|
|
17
|
+
this.map = map;
|
|
18
|
+
}
|
|
19
|
+
getMap() {
|
|
20
|
+
return this.map;
|
|
21
|
+
}
|
|
22
|
+
setZoomLevel(zoom) {
|
|
23
|
+
this.map.setZoom(zoom);
|
|
24
|
+
}
|
|
25
|
+
setCenter(location) {
|
|
26
|
+
this.map.setView([location.latitude, location.longitude], this.map.getZoom());
|
|
27
|
+
}
|
|
28
|
+
flyTo(location, zoom, setMarker = false, duration = 1.0) {
|
|
29
|
+
if (this.map) {
|
|
30
|
+
this.map.flyTo([location.latitude, location.longitude], zoom || this.map.getZoom(), {
|
|
31
|
+
animate: true,
|
|
32
|
+
duration: duration,
|
|
33
|
+
});
|
|
34
|
+
this.map.once('moveend', () => {
|
|
35
|
+
if (setMarker) {
|
|
36
|
+
this.addMarker(location);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
addMarker(locations) {
|
|
42
|
+
const locationsArray = Array.isArray(locations) ? locations : [locations];
|
|
43
|
+
locationsArray.forEach((location) => {
|
|
44
|
+
L.marker([location.latitude, location.longitude]).addTo(this.drawnItems);
|
|
45
|
+
this.onMarkerAdded.emit(location);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getMarkers() {
|
|
49
|
+
return this.drawnItems
|
|
50
|
+
.getLayers()
|
|
51
|
+
.filter((layer) => layer instanceof L.Marker)
|
|
52
|
+
.map((marker) => {
|
|
53
|
+
const latLng = marker.getLatLng();
|
|
54
|
+
return {
|
|
55
|
+
latitude: latLng.lat,
|
|
56
|
+
longitude: latLng.lng,
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
addDrawControl(position = 'topleft') {
|
|
61
|
+
const drawControl = new L.Control.Draw({
|
|
62
|
+
position: position,
|
|
63
|
+
edit: {
|
|
64
|
+
featureGroup: this.drawnItems,
|
|
65
|
+
},
|
|
66
|
+
draw: {
|
|
67
|
+
polygon: false,
|
|
68
|
+
polyline: false,
|
|
69
|
+
rectangle: false,
|
|
70
|
+
circle: false,
|
|
71
|
+
circlemarker: false,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
this.drawControl = drawControl;
|
|
75
|
+
this.map.addControl(drawControl);
|
|
76
|
+
this.map.on(L.Draw.Event.CREATED, (event) => {
|
|
77
|
+
const layer = event.layer;
|
|
78
|
+
this.drawnItems.addLayer(layer);
|
|
79
|
+
const latLng = event.layer.getLatLng();
|
|
80
|
+
this.onMarkerAdded.emit({ latitude: latLng.lat, longitude: latLng.lng });
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
addLocateControl(position = 'bottomright') {
|
|
84
|
+
const locateControl = L.control
|
|
85
|
+
.locate({
|
|
86
|
+
position: position,
|
|
87
|
+
flyTo: true,
|
|
88
|
+
setView: 'untilPanOrZoom',
|
|
89
|
+
showPopup: true,
|
|
90
|
+
onLocationError: (e) => alert(e.message),
|
|
91
|
+
onLocationOutsideMapBounds: (control) => control.stop(),
|
|
92
|
+
locateOptions: {
|
|
93
|
+
enableHighAccuracy: true,
|
|
94
|
+
},
|
|
95
|
+
strings: {
|
|
96
|
+
title: 'Show my location',
|
|
97
|
+
popup: 'You are within {distance} meters from this point',
|
|
98
|
+
outsideMapBoundsMsg: 'You seem to be outside the map bounds',
|
|
99
|
+
},
|
|
100
|
+
})
|
|
101
|
+
.addTo(this.map);
|
|
102
|
+
this.locateControl = locateControl;
|
|
103
|
+
this.map.on('locationfound', (event) => {
|
|
104
|
+
const location = {
|
|
105
|
+
latitude: event.latitude,
|
|
106
|
+
longitude: event.longitude,
|
|
107
|
+
precision: event.accuracy,
|
|
108
|
+
};
|
|
109
|
+
this.onLocationFound.emit(location);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
removeDrawControl() {
|
|
113
|
+
if (this.drawControl) {
|
|
114
|
+
this.map.removeControl(this.drawControl);
|
|
115
|
+
this.drawnItems.clearLayers();
|
|
116
|
+
this.drawControl = undefined;
|
|
117
|
+
this.map.off(L.Draw.Event.CREATED);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
removeLocateControl() {
|
|
121
|
+
if (this.locateControl) {
|
|
122
|
+
this.map.removeControl(this.locateControl);
|
|
123
|
+
this.locateControl = undefined;
|
|
124
|
+
this.map.off('locationfound');
|
|
125
|
+
this.map.off('locationerror');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
destroyMap() {
|
|
129
|
+
this.map.off();
|
|
130
|
+
this.map.remove();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Generated bundle index. Do not edit.
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
export { AXLeafletService };
|
|
139
|
+
//# sourceMappingURL=acorex-cdk-map.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-cdk-map.mjs","sources":["../../../../libs/cdk/map/src/map.class.ts","../../../../libs/cdk/map/src/acorex-cdk-map.ts"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport * as L from 'leaflet';\nimport 'leaflet-draw';\nimport 'leaflet.locatecontrol';\n\nexport interface AXMapLocation {\n latitude: number;\n longitude: number;\n precision?: number;\n title?: string;\n}\nexport type AXMapControlPlace = 'topleft' | 'topright' | 'bottomleft' | 'bottomright';\n\nexport class AXLeafletService {\n private map?: L.Map;\n private drawControl?: L.Control.Draw;\n private locateControl?: L.Control.Locate;\n private drawnItems: L.FeatureGroup = new L.FeatureGroup();\n private onMarkerAdded = new EventEmitter<AXMapLocation>();\n private onLocationFound = new EventEmitter<AXMapLocation>();\n\n constructor(mapElement?: HTMLElement, location?: AXMapLocation, zoom?: number) {\n const map = L.map(mapElement).setView([location.latitude, location.longitude], zoom);\n\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n maxZoom: 18,\n attribution: '© ACoreX',\n }).addTo(map);\n\n this.drawnItems.addTo(map);\n this.map = map;\n }\n\n getMap(): L.Map {\n return this.map;\n }\n\n setZoomLevel(zoom: number): void {\n this.map.setZoom(zoom);\n }\n\n setCenter(location: AXMapLocation): void {\n this.map.setView([location.latitude, location.longitude], this.map.getZoom());\n }\n\n flyTo(location: AXMapLocation, zoom?: number, setMarker = false, duration = 1.0): void {\n if (this.map) {\n this.map.flyTo([location.latitude, location.longitude], zoom || this.map.getZoom(), {\n animate: true,\n duration: duration,\n });\n this.map.once('moveend', () => {\n if (setMarker) {\n this.addMarker(location);\n }\n });\n }\n }\n\n addMarker(locations: AXMapLocation | AXMapLocation[]): void {\n const locationsArray = Array.isArray(locations) ? locations : [locations];\n locationsArray.forEach((location) => {\n L.marker([location.latitude, location.longitude]).addTo(this.drawnItems);\n this.onMarkerAdded.emit(location);\n });\n }\n\n getMarkers(): AXMapLocation[] {\n return this.drawnItems\n .getLayers()\n .filter((layer) => layer instanceof L.Marker)\n .map((marker) => {\n const latLng = (marker as L.Marker).getLatLng();\n return {\n latitude: latLng.lat,\n longitude: latLng.lng,\n } as AXMapLocation;\n });\n }\n\n addDrawControl(position: AXMapControlPlace = 'topleft'): void {\n const drawControl = new L.Control.Draw({\n position: position,\n edit: {\n featureGroup: this.drawnItems,\n },\n draw: {\n polygon: false,\n polyline: false,\n rectangle: false,\n circle: false,\n circlemarker: false,\n },\n });\n this.drawControl = drawControl;\n this.map.addControl(drawControl);\n this.map.on(L.Draw.Event.CREATED, (event: any) => {\n const layer = event.layer;\n this.drawnItems.addLayer(layer);\n const latLng = event.layer.getLatLng();\n this.onMarkerAdded.emit({ latitude: latLng.lat, longitude: latLng.lng });\n });\n }\n\n addLocateControl(position: AXMapControlPlace = 'bottomright'): void {\n const locateControl = L.control\n .locate({\n position: position,\n flyTo: true,\n setView: 'untilPanOrZoom',\n showPopup: true,\n onLocationError: (e) => alert(e.message),\n onLocationOutsideMapBounds: (control) => control.stop(),\n locateOptions: {\n enableHighAccuracy: true,\n },\n strings: {\n title: 'Show my location',\n popup: 'You are within {distance} meters from this point',\n outsideMapBoundsMsg: 'You seem to be outside the map bounds',\n },\n })\n .addTo(this.map);\n\n this.locateControl = locateControl;\n\n this.map.on('locationfound', (event: any) => {\n const location: AXMapLocation = {\n latitude: event.latitude,\n longitude: event.longitude,\n precision: event.accuracy,\n };\n this.onLocationFound.emit(location);\n });\n }\n\n removeDrawControl() {\n if (this.drawControl) {\n this.map.removeControl(this.drawControl);\n this.drawnItems.clearLayers();\n this.drawControl = undefined;\n this.map.off(L.Draw.Event.CREATED);\n }\n }\n\n removeLocateControl(): void {\n if (this.locateControl) {\n this.map.removeControl(this.locateControl);\n this.locateControl = undefined;\n this.map.off('locationfound');\n this.map.off('locationerror');\n }\n }\n\n destroyMap() {\n this.map.off();\n this.map.remove();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/map/README.md
ADDED
package/map/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './map.class';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as L from 'leaflet';
|
|
2
|
+
import 'leaflet-draw';
|
|
3
|
+
import 'leaflet.locatecontrol';
|
|
4
|
+
export interface AXMapLocation {
|
|
5
|
+
latitude: number;
|
|
6
|
+
longitude: number;
|
|
7
|
+
precision?: number;
|
|
8
|
+
title?: string;
|
|
9
|
+
}
|
|
10
|
+
export type AXMapControlPlace = 'topleft' | 'topright' | 'bottomleft' | 'bottomright';
|
|
11
|
+
export declare class AXLeafletService {
|
|
12
|
+
private map?;
|
|
13
|
+
private drawControl?;
|
|
14
|
+
private locateControl?;
|
|
15
|
+
private drawnItems;
|
|
16
|
+
private onMarkerAdded;
|
|
17
|
+
private onLocationFound;
|
|
18
|
+
constructor(mapElement?: HTMLElement, location?: AXMapLocation, zoom?: number);
|
|
19
|
+
getMap(): L.Map;
|
|
20
|
+
setZoomLevel(zoom: number): void;
|
|
21
|
+
setCenter(location: AXMapLocation): void;
|
|
22
|
+
flyTo(location: AXMapLocation, zoom?: number, setMarker?: boolean, duration?: number): void;
|
|
23
|
+
addMarker(locations: AXMapLocation | AXMapLocation[]): void;
|
|
24
|
+
getMarkers(): AXMapLocation[];
|
|
25
|
+
addDrawControl(position?: AXMapControlPlace): void;
|
|
26
|
+
addLocateControl(position?: AXMapControlPlace): void;
|
|
27
|
+
removeDrawControl(): void;
|
|
28
|
+
removeLocateControl(): void;
|
|
29
|
+
destroyMap(): void;
|
|
30
|
+
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/cdk",
|
|
3
|
-
"version": "18.10.
|
|
3
|
+
"version": "18.10.5",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^18.2.0",
|
|
6
6
|
"@angular/core": "^18.2.0",
|
|
7
7
|
"quill": "^2.0.2",
|
|
8
8
|
"quill-delta-to-html": "^0.12.1",
|
|
9
|
-
"qrcode": "^1.5.4"
|
|
9
|
+
"qrcode": "^1.5.4",
|
|
10
|
+
"leaflet": "^1.9.4",
|
|
11
|
+
"leaflet-draw": "^1.0.4",
|
|
12
|
+
"leaflet.locatecontrol": "^0.81.1"
|
|
10
13
|
},
|
|
11
14
|
"sideEffects": false,
|
|
12
15
|
"module": "fesm2022/acorex-cdk.mjs",
|
|
@@ -21,17 +24,23 @@
|
|
|
21
24
|
"esm": "./esm2022/acorex-cdk.mjs",
|
|
22
25
|
"default": "./fesm2022/acorex-cdk.mjs"
|
|
23
26
|
},
|
|
24
|
-
"./
|
|
25
|
-
"types": "./
|
|
26
|
-
"esm2022": "./esm2022/
|
|
27
|
-
"esm": "./esm2022/
|
|
28
|
-
"default": "./fesm2022/acorex-cdk-
|
|
27
|
+
"./map": {
|
|
28
|
+
"types": "./map/index.d.ts",
|
|
29
|
+
"esm2022": "./esm2022/map/acorex-cdk-map.mjs",
|
|
30
|
+
"esm": "./esm2022/map/acorex-cdk-map.mjs",
|
|
31
|
+
"default": "./fesm2022/acorex-cdk-map.mjs"
|
|
29
32
|
},
|
|
30
33
|
"./wysiwyg": {
|
|
31
34
|
"types": "./wysiwyg/index.d.ts",
|
|
32
35
|
"esm2022": "./esm2022/wysiwyg/acorex-cdk-wysiwyg.mjs",
|
|
33
36
|
"esm": "./esm2022/wysiwyg/acorex-cdk-wysiwyg.mjs",
|
|
34
37
|
"default": "./fesm2022/acorex-cdk-wysiwyg.mjs"
|
|
38
|
+
},
|
|
39
|
+
"./qrcode": {
|
|
40
|
+
"types": "./qrcode/index.d.ts",
|
|
41
|
+
"esm2022": "./esm2022/qrcode/acorex-cdk-qrcode.mjs",
|
|
42
|
+
"esm": "./esm2022/qrcode/acorex-cdk-qrcode.mjs",
|
|
43
|
+
"default": "./fesm2022/acorex-cdk-qrcode.mjs"
|
|
35
44
|
}
|
|
36
45
|
},
|
|
37
46
|
"dependencies": {
|