@mapka/maplibre-gl-sdk 0.10.0 → 0.12.0
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/lib/.buildInfo.json +1 -1
- package/lib/map.d.ts +2 -1
- package/lib/map.d.ts.map +1 -1
- package/lib/map.js +7 -4
- package/lib/modules/markers.d.ts +1 -1
- package/lib/modules/markers.d.ts.map +1 -1
- package/lib/modules/markers.js +4 -6
- package/lib/modules/popup.d.ts +1 -0
- package/lib/modules/popup.d.ts.map +1 -1
- package/lib/modules/popup.js +7 -0
- package/package.json +2 -2
- package/src/map.ts +8 -3
- package/src/modules/markers.ts +5 -8
- package/src/modules/popup.tsx +8 -0
package/lib/map.d.ts
CHANGED
|
@@ -26,9 +26,10 @@ export declare class MapkaMap extends maplibregl.Map {
|
|
|
26
26
|
setStyle(style: string | StyleSpecification, options?: StyleSwapOptions & StyleOptions): this;
|
|
27
27
|
addMarkers(markers: MapkaMarkerOptions[]): void;
|
|
28
28
|
updateMarkers(markers: MapkaMarkerOptions[]): void;
|
|
29
|
-
|
|
29
|
+
removeMarkers(): void;
|
|
30
30
|
openPopup(popup: MapkaPopupOptions, id?: string): string;
|
|
31
31
|
closePopup(id: string): void;
|
|
32
32
|
updatePopup(popup: MapkaPopupOptions, id?: string): void;
|
|
33
|
+
removePopups(): void;
|
|
33
34
|
}
|
|
34
35
|
//# sourceMappingURL=map.d.ts.map
|
package/lib/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAiB1C,OAAO,KAAK,EACV,MAAM,EACN,KAAK,EAGL,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CAChC;AA0BD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,QAAS,SAAQ,UAAU,CAAC,GAAG;IAC1C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAU;IAErB,OAAO,EAAE,cAAc,EAAE,CAAM;IAE/B,SAAS,EAAE,MAAM,CAAK;IACtB,MAAM,EAAE,aAAa,EAAE,CAAM;gBAEjB,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAa,EAAE,GAAG,OAAO,EAAE,EAAE,eAAe;IAoBpF,QAAQ,CACb,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAClC,OAAO,GAAE,gBAAgB,GAAG,YAAiB;IAexC,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE;IAIxC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE;IAI3C,aAAa;IAIb,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAA0B;IAIlE,UAAU,CAAC,EAAE,EAAE,MAAM;IAIrB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAA0B;IAIpE,YAAY;CAGpB"}
|
package/lib/map.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as maplibregl from "maplibre-gl";
|
|
2
2
|
import { loadLayersIcons } from "./modules/icons.js";
|
|
3
|
-
import { closeOnMapClickPopups, closePopupsById, getPopupId, openPopup, updatePopup, } from "./modules/popup.js";
|
|
4
|
-
import { addMarkers, addStyleDiffMarkers, addStyleMarkers,
|
|
3
|
+
import { closeOnMapClickPopups, closePopupsById, getPopupId, openPopup, removePopups, updatePopup, } from "./modules/popup.js";
|
|
4
|
+
import { addMarkers, addStyleDiffMarkers, addStyleMarkers, removeMarkers, updateMarkers, } from "./modules/markers.js";
|
|
5
5
|
const noopTransformRequest = (url) => {
|
|
6
6
|
return {
|
|
7
7
|
url,
|
|
@@ -59,8 +59,8 @@ export class MapkaMap extends maplibregl.Map {
|
|
|
59
59
|
updateMarkers(markers) {
|
|
60
60
|
updateMarkers(this, markers);
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
removeMarkers() {
|
|
63
|
+
removeMarkers(this);
|
|
64
64
|
}
|
|
65
65
|
openPopup(popup, id = getPopupId(popup)) {
|
|
66
66
|
return openPopup(this, popup, id);
|
|
@@ -71,4 +71,7 @@ export class MapkaMap extends maplibregl.Map {
|
|
|
71
71
|
updatePopup(popup, id = getPopupId(popup)) {
|
|
72
72
|
return updatePopup(this, popup, id);
|
|
73
73
|
}
|
|
74
|
+
removePopups() {
|
|
75
|
+
removePopups(this);
|
|
76
|
+
}
|
|
74
77
|
}
|
package/lib/modules/markers.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare function getMarkerId(marker: {
|
|
|
7
7
|
export declare function addMarkers(currentMap: MapkaMap, markersOptions: MapkaMarkerOptions[]): void;
|
|
8
8
|
export declare function removeMarkersByIds(map: MapkaMap, ids: string[]): void;
|
|
9
9
|
export declare function updateMarkers(map: MapkaMap, markersOptions: MapkaMarkerOptions[]): void;
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function removeMarkers(map: MapkaMap): void;
|
|
11
11
|
export declare function addStyleMarkers(map: MapkaMap): void;
|
|
12
12
|
export declare function addStyleDiffMarkers(map: MapkaMap, next: StyleSpecification): void;
|
|
13
13
|
//# sourceMappingURL=markers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/modules/markers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/modules/markers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAkBhF,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,UAElD;AA4ED,wBAAgB,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAcpF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAK9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAKhF;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,QAK1C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,QAK5C;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,QAG1E"}
|
package/lib/modules/markers.js
CHANGED
|
@@ -86,11 +86,10 @@ function setupMarkerPopupListeners(map, marker, popup, options) {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
export function addMarkers(currentMap, markersOptions) {
|
|
89
|
-
const markers = [];
|
|
90
89
|
for (const markerOptions of markersOptions) {
|
|
91
90
|
const { lngLat, popup, ...options } = markerOptions;
|
|
92
91
|
const newMarker = new Marker(options).setLngLat(lngLat).addTo(currentMap);
|
|
93
|
-
markers.push({
|
|
92
|
+
currentMap.markers.push({
|
|
94
93
|
id: getMarkerId(markerOptions),
|
|
95
94
|
options: markerOptions,
|
|
96
95
|
marker: newMarker,
|
|
@@ -99,7 +98,6 @@ export function addMarkers(currentMap, markersOptions) {
|
|
|
99
98
|
continue;
|
|
100
99
|
setupMarkerPopupListeners(currentMap, newMarker, popup, markerOptions);
|
|
101
100
|
}
|
|
102
|
-
currentMap.markers.push(...markers);
|
|
103
101
|
}
|
|
104
102
|
export function removeMarkersByIds(map, ids) {
|
|
105
103
|
const removedMarkers = remove(map.markers, (marker) => ids.includes(marker.id));
|
|
@@ -112,7 +110,7 @@ export function updateMarkers(map, markersOptions) {
|
|
|
112
110
|
removeMarkersByIds(map, markersIds);
|
|
113
111
|
addMarkers(map, markersOptions);
|
|
114
112
|
}
|
|
115
|
-
export function
|
|
113
|
+
export function removeMarkers(map) {
|
|
116
114
|
for (const marker of map.markers) {
|
|
117
115
|
marker.marker.remove();
|
|
118
116
|
}
|
|
@@ -121,9 +119,9 @@ export function clearMarkers(map) {
|
|
|
121
119
|
export function addStyleMarkers(map) {
|
|
122
120
|
const style = map.getStyle();
|
|
123
121
|
const markers = get(style, "metadata.mapka.markers", []);
|
|
124
|
-
|
|
122
|
+
addMarkers(map, markers);
|
|
125
123
|
}
|
|
126
124
|
export function addStyleDiffMarkers(map, next) {
|
|
127
125
|
const markers = get(next, "metadata.mapka.markers", []);
|
|
128
|
-
|
|
126
|
+
addMarkers(map, markers);
|
|
129
127
|
}
|
package/lib/modules/popup.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export declare function updatePopupBaseOptions(popup: Popup, options: MapkaPopup
|
|
|
11
11
|
export declare function updatePopup(map: MapkaMap, { content, ...newOptions }: MapkaPopupOptions, id: string): void;
|
|
12
12
|
export declare function closeOnMapClickPopups(map: MapkaMap): void;
|
|
13
13
|
export declare function closePopupsById(map: MapkaMap, id: string): void;
|
|
14
|
+
export declare function removePopups(map: MapkaMap): void;
|
|
14
15
|
//# sourceMappingURL=popup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../src/modules/popup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,UAEhD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,cAEnD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,QAM7C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,UAyD9E;AAID,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,SAY/C;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,EACb,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,iBAAiB,EAC7C,EAAE,EAAE,MAAM,QA6BX;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,QAQlD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAMxD"}
|
|
1
|
+
{"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../src/modules/popup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,UAEhD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,cAEnD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,QAM7C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,UAyD9E;AAID,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,SAY/C;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,EACb,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,iBAAiB,EAC7C,EAAE,EAAE,MAAM,QA6BX;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,QAQlD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAMxD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,QAMzC"}
|
package/lib/modules/popup.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mapka/maplibre-gl-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Mapka JS SDK",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"!**/__tests__/",
|
|
35
35
|
"!lib/buildInfo.json"
|
|
36
36
|
],
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "b69a4f7130ea4d7d9d6c3a16ef26308cb39e1555"
|
|
38
38
|
}
|
package/src/map.ts
CHANGED
|
@@ -5,13 +5,14 @@ import {
|
|
|
5
5
|
closePopupsById,
|
|
6
6
|
getPopupId,
|
|
7
7
|
openPopup,
|
|
8
|
+
removePopups,
|
|
8
9
|
updatePopup,
|
|
9
10
|
} from "./modules/popup.js";
|
|
10
11
|
import {
|
|
11
12
|
addMarkers,
|
|
12
13
|
addStyleDiffMarkers,
|
|
13
14
|
addStyleMarkers,
|
|
14
|
-
|
|
15
|
+
removeMarkers,
|
|
15
16
|
updateMarkers,
|
|
16
17
|
} from "./modules/markers.js";
|
|
17
18
|
import type {
|
|
@@ -124,8 +125,8 @@ export class MapkaMap extends maplibregl.Map {
|
|
|
124
125
|
updateMarkers(this, markers);
|
|
125
126
|
}
|
|
126
127
|
|
|
127
|
-
public
|
|
128
|
-
|
|
128
|
+
public removeMarkers() {
|
|
129
|
+
removeMarkers(this);
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
public openPopup(popup: MapkaPopupOptions, id: string = getPopupId(popup)) {
|
|
@@ -139,4 +140,8 @@ export class MapkaMap extends maplibregl.Map {
|
|
|
139
140
|
public updatePopup(popup: MapkaPopupOptions, id: string = getPopupId(popup)) {
|
|
140
141
|
return updatePopup(this, popup, id);
|
|
141
142
|
}
|
|
143
|
+
|
|
144
|
+
public removePopups() {
|
|
145
|
+
removePopups(this);
|
|
146
|
+
}
|
|
142
147
|
}
|
package/src/modules/markers.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Marker } from "maplibre-gl";
|
|
|
2
2
|
import { get } from "es-toolkit/compat";
|
|
3
3
|
import { getPopupId } from "./popup.js";
|
|
4
4
|
import type { Offset, StyleSpecification } from "maplibre-gl";
|
|
5
|
-
import type { MapkaMap
|
|
5
|
+
import type { MapkaMap } from "../map.js";
|
|
6
6
|
import type { MapkaMarkerOptions, MapkaPopupOptions } from "../types/marker.js";
|
|
7
7
|
import { remove } from "es-toolkit";
|
|
8
8
|
|
|
@@ -100,13 +100,11 @@ function setupMarkerPopupListeners(
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
export function addMarkers(currentMap: MapkaMap, markersOptions: MapkaMarkerOptions[]) {
|
|
103
|
-
const markers: MapMapkaMarker[] = [];
|
|
104
|
-
|
|
105
103
|
for (const markerOptions of markersOptions) {
|
|
106
104
|
const { lngLat, popup, ...options } = markerOptions;
|
|
107
105
|
const newMarker = new Marker(options).setLngLat(lngLat).addTo(currentMap);
|
|
108
106
|
|
|
109
|
-
markers.push({
|
|
107
|
+
currentMap.markers.push({
|
|
110
108
|
id: getMarkerId(markerOptions),
|
|
111
109
|
options: markerOptions,
|
|
112
110
|
marker: newMarker,
|
|
@@ -115,7 +113,6 @@ export function addMarkers(currentMap: MapkaMap, markersOptions: MapkaMarkerOpti
|
|
|
115
113
|
|
|
116
114
|
setupMarkerPopupListeners(currentMap, newMarker, popup, markerOptions);
|
|
117
115
|
}
|
|
118
|
-
currentMap.markers.push(...markers);
|
|
119
116
|
}
|
|
120
117
|
|
|
121
118
|
export function removeMarkersByIds(map: MapkaMap, ids: string[]) {
|
|
@@ -132,7 +129,7 @@ export function updateMarkers(map: MapkaMap, markersOptions: MapkaMarkerOptions[
|
|
|
132
129
|
addMarkers(map, markersOptions);
|
|
133
130
|
}
|
|
134
131
|
|
|
135
|
-
export function
|
|
132
|
+
export function removeMarkers(map: MapkaMap) {
|
|
136
133
|
for (const marker of map.markers) {
|
|
137
134
|
marker.marker.remove();
|
|
138
135
|
}
|
|
@@ -143,10 +140,10 @@ export function addStyleMarkers(map: MapkaMap) {
|
|
|
143
140
|
const style = map.getStyle();
|
|
144
141
|
|
|
145
142
|
const markers = get(style, "metadata.mapka.markers", []) as MapkaMarkerOptions[];
|
|
146
|
-
|
|
143
|
+
addMarkers(map, markers);
|
|
147
144
|
}
|
|
148
145
|
|
|
149
146
|
export function addStyleDiffMarkers(map: MapkaMap, next: StyleSpecification) {
|
|
150
147
|
const markers = get(next, "metadata.mapka.markers", []) as MapkaMarkerOptions[];
|
|
151
|
-
|
|
148
|
+
addMarkers(map, markers);
|
|
152
149
|
}
|
package/src/modules/popup.tsx
CHANGED
|
@@ -153,3 +153,11 @@ export function closePopupsById(map: MapkaMap, id: string) {
|
|
|
153
153
|
popup.container.remove();
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
+
|
|
157
|
+
export function removePopups(map: MapkaMap) {
|
|
158
|
+
for (const popup of map.popups) {
|
|
159
|
+
popup.popup.remove();
|
|
160
|
+
popup.container.remove();
|
|
161
|
+
}
|
|
162
|
+
map.popups = [];
|
|
163
|
+
}
|