@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.
@@ -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
@@ -0,0 +1,3 @@
1
+ # @acorex/cdk/map
2
+
3
+ Secondary entry point of `@acorex/cdk`. It can be used by importing from `@acorex/cdk/map`.
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.4",
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
- "./qrcode": {
25
- "types": "./qrcode/index.d.ts",
26
- "esm2022": "./esm2022/qrcode/acorex-cdk-qrcode.mjs",
27
- "esm": "./esm2022/qrcode/acorex-cdk-qrcode.mjs",
28
- "default": "./fesm2022/acorex-cdk-qrcode.mjs"
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": {