@mapvx/web-js 4.0.1-dev.1 → 4.0.1-dev.3
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/README.md +11 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +5 -0
- package/dist/es/index.js.map +1 -1
- package/dist/es/logger/sentry.js +1 -1
- package/dist/es/map/generated/maplibreWorkerSource.d.ts +11 -0
- package/dist/es/map/generated/maplibreWorkerSource.d.ts.map +1 -0
- package/dist/es/map/generated/maplibreWorkerSource.js +14 -0
- package/dist/es/map/generated/maplibreWorkerSource.js.map +1 -0
- package/dist/es/map/installMapLibreWorker.d.ts +87 -0
- package/dist/es/map/installMapLibreWorker.d.ts.map +1 -0
- package/dist/es/map/installMapLibreWorker.js +134 -0
- package/dist/es/map/installMapLibreWorker.js.map +1 -0
- package/dist/es/map/map.d.ts +19 -6
- package/dist/es/map/map.d.ts.map +1 -1
- package/dist/es/map/map.js +71 -11
- package/dist/es/map/map.js.map +1 -1
- package/dist/umd/index.js +232 -17
- package/dist/umd/index.js.map +1 -1
- package/package.json +12 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maplibreWorkerSource.js","sourceRoot":"","sources":["../../../../src/map/generated/maplibreWorkerSource.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,+EAA+E;AAC/E,yCAAyC;AAEzC;0FAC0F;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAW,OAAO,CAAA;AAEtD;;;;;sEAKsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAW,y/0fAAy/0f,CAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registers a self-contained MapLibre worker carried inside this bundle.
|
|
3
|
+
*
|
|
4
|
+
* MapLibre 6 no longer inlines its worker. It resolves it at runtime with
|
|
5
|
+
* `new URL('./maplibre-gl-worker.mjs', import.meta.url)`, building the filename by concatenation
|
|
6
|
+
* so no bundler can see it statically and none emit the file. Once a consumer bundles this SDK,
|
|
7
|
+
* `import.meta.url` is the consumer's own chunk, the worker is requested from a path where nothing
|
|
8
|
+
* exists — in a single-page app the request falls through to the app shell and the worker dies on
|
|
9
|
+
* a `text/html` MIME error — and the map renders nothing at all. Handing MapLibre a `blob:` URL
|
|
10
|
+
* removes that resolution from the picture entirely, so this holds regardless of the consumer's
|
|
11
|
+
* bundler, base href, or whether the app is served from a subpath.
|
|
12
|
+
*
|
|
13
|
+
* Must run before anything touches MapLibre's global worker pool, which is earlier than it looks.
|
|
14
|
+
* The pool is created by the first `Dispatcher` and the URL is read then, once, and not again
|
|
15
|
+
* while a map is alive — so any MapLibre call that builds a Dispatcher ahead of this one wins
|
|
16
|
+
* permanently. `new Map(...)` is the obvious one, but `prewarm()`, `importScriptInWorkers()` and
|
|
17
|
+
* the now-removed `setRTLTextPlugin()` all do it too. Hence the very top of the map constructor,
|
|
18
|
+
* rather than next to the map.
|
|
19
|
+
*
|
|
20
|
+
* Never called at module load: that would run `new Blob` and `URL.createObjectURL` during import,
|
|
21
|
+
* which fails under SSR and in jsdom, and would hand MapLibre a worker URL for applications that
|
|
22
|
+
* import this package without ever creating a map. It does not save memory — the worker string is
|
|
23
|
+
* resident from the moment this module is imported either way.
|
|
24
|
+
*
|
|
25
|
+
* A consumer that installed its own worker URL is self-hosting on purpose — a strict
|
|
26
|
+
* Content-Security-Policy without `worker-src blob:`, typically — and is left alone.
|
|
27
|
+
*
|
|
28
|
+
* Under such a policy with no URL set, the failure is silent from the application's side, and
|
|
29
|
+
* measured rather than assumed: `createObjectURL` does not throw, `new Worker` does not throw
|
|
30
|
+
* synchronously, and MapLibre fires no `error` event. The only signal is the browser's own
|
|
31
|
+
* console message, *"Creating a worker from 'blob:…' violates the following Content Security
|
|
32
|
+
* Policy directive"*, next to a map that never loads. That string is repeated here so searching
|
|
33
|
+
* for it lands on this explanation and on `setMapLibreWorkerUrl`.
|
|
34
|
+
*
|
|
35
|
+
* @see setMapLibreWorkerUrl for the supported way to opt out.
|
|
36
|
+
* @group Configuration
|
|
37
|
+
*/
|
|
38
|
+
export declare function installMapLibreWorker(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Points MapLibre at a worker script you host yourself, instead of the one bundled into this SDK.
|
|
41
|
+
*
|
|
42
|
+
* The bundled worker is delivered as a `blob:` URL, which a Content-Security-Policy without
|
|
43
|
+
* `worker-src blob:` (or `child-src blob:`) will block. Self-hosting is the way out: copy
|
|
44
|
+
* `maplibre-gl-worker.mjs` **and** `maplibre-gl-shared.mjs` from `maplibre-gl/dist` — the worker
|
|
45
|
+
* imports the shared file at runtime, so both must be served from the same directory — and point
|
|
46
|
+
* this at the first one. Use `npm ls maplibre-gl` to see which version this SDK resolved; the
|
|
47
|
+
* files must come from that one.
|
|
48
|
+
*
|
|
49
|
+
* **The URL has to be same-origin.** A cross-origin one does not escape `blob:`: MapLibre wraps
|
|
50
|
+
* any worker URL it considers cross-origin in a generated `blob:` worker that imports it, so a
|
|
51
|
+
* CDN-hosted worker hits exactly the same Content-Security-Policy wall as the bundled one.
|
|
52
|
+
*
|
|
53
|
+
* Call it before creating any map. Once MapLibre's worker pool has spun up it does not re-read the
|
|
54
|
+
* URL until every map has been removed.
|
|
55
|
+
*
|
|
56
|
+
* Exists so opting out does not force a direct `maplibre-gl` dependency on consumers that only
|
|
57
|
+
* use this SDK.
|
|
58
|
+
*
|
|
59
|
+
* @param url - URL of the MapLibre worker script to load.
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { setMapLibreWorkerUrl, initializeSDK } from "@mapvx/web-js"
|
|
63
|
+
*
|
|
64
|
+
* setMapLibreWorkerUrl("/assets/maplibre-gl-worker.mjs")
|
|
65
|
+
* const sdk = initializeSDK(token)
|
|
66
|
+
* ```
|
|
67
|
+
* @group Configuration
|
|
68
|
+
*/
|
|
69
|
+
export declare function setMapLibreWorkerUrl(url: string): void;
|
|
70
|
+
/**
|
|
71
|
+
* The worker URL MapLibre will use, or `""` when none has been set yet.
|
|
72
|
+
*
|
|
73
|
+
* Returns a `blob:` URL once the bundled worker has been installed, which happens when the first
|
|
74
|
+
* map is created. Useful to assert in tests that the bundled worker is in play.
|
|
75
|
+
*
|
|
76
|
+
* @returns The current MapLibre worker URL.
|
|
77
|
+
* @group Configuration
|
|
78
|
+
*/
|
|
79
|
+
export declare function getMapLibreWorkerUrl(): string;
|
|
80
|
+
/**
|
|
81
|
+
* Resets the module-level install state. Test seam only — the blob URL is intentionally never
|
|
82
|
+
* revoked in production, so there is nothing to clean up outside tests.
|
|
83
|
+
*
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
export declare function resetMapLibreWorkerInstallForTests(): void;
|
|
87
|
+
//# sourceMappingURL=installMapLibreWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installMapLibreWorker.d.ts","sourceRoot":"","sources":["../../../src/map/installMapLibreWorker.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAgC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { getVersion, getWorkerUrl, setWorkerUrl } from "maplibre-gl";
|
|
2
|
+
import { MAPLIBRE_WORKER_SOURCE, MAPLIBRE_WORKER_VERSION } from "./generated/maplibreWorkerSource";
|
|
3
|
+
/**
|
|
4
|
+
* The blob URL this SDK created, or `null` while nothing has been installed yet. Kept so the
|
|
5
|
+
* install is idempotent and so we can tell our own URL from one a consumer supplied.
|
|
6
|
+
*/
|
|
7
|
+
let installedWorkerUrl = null;
|
|
8
|
+
/**
|
|
9
|
+
* Registers a self-contained MapLibre worker carried inside this bundle.
|
|
10
|
+
*
|
|
11
|
+
* MapLibre 6 no longer inlines its worker. It resolves it at runtime with
|
|
12
|
+
* `new URL('./maplibre-gl-worker.mjs', import.meta.url)`, building the filename by concatenation
|
|
13
|
+
* so no bundler can see it statically and none emit the file. Once a consumer bundles this SDK,
|
|
14
|
+
* `import.meta.url` is the consumer's own chunk, the worker is requested from a path where nothing
|
|
15
|
+
* exists — in a single-page app the request falls through to the app shell and the worker dies on
|
|
16
|
+
* a `text/html` MIME error — and the map renders nothing at all. Handing MapLibre a `blob:` URL
|
|
17
|
+
* removes that resolution from the picture entirely, so this holds regardless of the consumer's
|
|
18
|
+
* bundler, base href, or whether the app is served from a subpath.
|
|
19
|
+
*
|
|
20
|
+
* Must run before anything touches MapLibre's global worker pool, which is earlier than it looks.
|
|
21
|
+
* The pool is created by the first `Dispatcher` and the URL is read then, once, and not again
|
|
22
|
+
* while a map is alive — so any MapLibre call that builds a Dispatcher ahead of this one wins
|
|
23
|
+
* permanently. `new Map(...)` is the obvious one, but `prewarm()`, `importScriptInWorkers()` and
|
|
24
|
+
* the now-removed `setRTLTextPlugin()` all do it too. Hence the very top of the map constructor,
|
|
25
|
+
* rather than next to the map.
|
|
26
|
+
*
|
|
27
|
+
* Never called at module load: that would run `new Blob` and `URL.createObjectURL` during import,
|
|
28
|
+
* which fails under SSR and in jsdom, and would hand MapLibre a worker URL for applications that
|
|
29
|
+
* import this package without ever creating a map. It does not save memory — the worker string is
|
|
30
|
+
* resident from the moment this module is imported either way.
|
|
31
|
+
*
|
|
32
|
+
* A consumer that installed its own worker URL is self-hosting on purpose — a strict
|
|
33
|
+
* Content-Security-Policy without `worker-src blob:`, typically — and is left alone.
|
|
34
|
+
*
|
|
35
|
+
* Under such a policy with no URL set, the failure is silent from the application's side, and
|
|
36
|
+
* measured rather than assumed: `createObjectURL` does not throw, `new Worker` does not throw
|
|
37
|
+
* synchronously, and MapLibre fires no `error` event. The only signal is the browser's own
|
|
38
|
+
* console message, *"Creating a worker from 'blob:…' violates the following Content Security
|
|
39
|
+
* Policy directive"*, next to a map that never loads. That string is repeated here so searching
|
|
40
|
+
* for it lands on this explanation and on `setMapLibreWorkerUrl`.
|
|
41
|
+
*
|
|
42
|
+
* @see setMapLibreWorkerUrl for the supported way to opt out.
|
|
43
|
+
* @group Configuration
|
|
44
|
+
*/
|
|
45
|
+
export function installMapLibreWorker() {
|
|
46
|
+
if (installedWorkerUrl !== null)
|
|
47
|
+
return;
|
|
48
|
+
// `WORKER_URL` defaults to "", so a truthy value can only mean a consumer set one.
|
|
49
|
+
if (getWorkerUrl())
|
|
50
|
+
return;
|
|
51
|
+
const runtimeVersion = getVersion();
|
|
52
|
+
if (runtimeVersion !== MAPLIBRE_WORKER_VERSION) {
|
|
53
|
+
// The bundled worker and the running MapLibre talk an internal, unversioned protocol. A skew
|
|
54
|
+
// is only possible if the consumer forced a different maplibre-gl than this SDK pinned; it is
|
|
55
|
+
// still better to install a slightly mismatched worker than to leave the map with none, so
|
|
56
|
+
// this warns rather than bails.
|
|
57
|
+
console.warn(`[MapVX] MapLibre version mismatch: the bundled worker is ${MAPLIBRE_WORKER_VERSION} but ` +
|
|
58
|
+
`maplibre-gl ${runtimeVersion} is running. Install maplibre-gl@${MAPLIBRE_WORKER_VERSION} ` +
|
|
59
|
+
`or call setMapLibreWorkerUrl() with a self-hosted worker of the matching version.`);
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const blob = new Blob([MAPLIBRE_WORKER_SOURCE], { type: "text/javascript" });
|
|
63
|
+
// Deliberately never revoked. MapLibre terminates its worker pool when the last map is
|
|
64
|
+
// removed and reads this URL again when the next map is created, so revoking would break
|
|
65
|
+
// every map after the first.
|
|
66
|
+
installedWorkerUrl = URL.createObjectURL(blob);
|
|
67
|
+
setWorkerUrl(installedWorkerUrl);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
// Blob/createObjectURL are absent under SSR and in some test environments. Leaving MapLibre's
|
|
71
|
+
// own resolution in place is the best remaining option: it works when the SDK is served
|
|
72
|
+
// unbundled, which is exactly the situation where this path is reachable.
|
|
73
|
+
installedWorkerUrl = null;
|
|
74
|
+
console.warn("[MapVX] Could not install the bundled MapLibre worker:", error);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Points MapLibre at a worker script you host yourself, instead of the one bundled into this SDK.
|
|
79
|
+
*
|
|
80
|
+
* The bundled worker is delivered as a `blob:` URL, which a Content-Security-Policy without
|
|
81
|
+
* `worker-src blob:` (or `child-src blob:`) will block. Self-hosting is the way out: copy
|
|
82
|
+
* `maplibre-gl-worker.mjs` **and** `maplibre-gl-shared.mjs` from `maplibre-gl/dist` — the worker
|
|
83
|
+
* imports the shared file at runtime, so both must be served from the same directory — and point
|
|
84
|
+
* this at the first one. Use `npm ls maplibre-gl` to see which version this SDK resolved; the
|
|
85
|
+
* files must come from that one.
|
|
86
|
+
*
|
|
87
|
+
* **The URL has to be same-origin.** A cross-origin one does not escape `blob:`: MapLibre wraps
|
|
88
|
+
* any worker URL it considers cross-origin in a generated `blob:` worker that imports it, so a
|
|
89
|
+
* CDN-hosted worker hits exactly the same Content-Security-Policy wall as the bundled one.
|
|
90
|
+
*
|
|
91
|
+
* Call it before creating any map. Once MapLibre's worker pool has spun up it does not re-read the
|
|
92
|
+
* URL until every map has been removed.
|
|
93
|
+
*
|
|
94
|
+
* Exists so opting out does not force a direct `maplibre-gl` dependency on consumers that only
|
|
95
|
+
* use this SDK.
|
|
96
|
+
*
|
|
97
|
+
* @param url - URL of the MapLibre worker script to load.
|
|
98
|
+
* @example
|
|
99
|
+
* ```ts
|
|
100
|
+
* import { setMapLibreWorkerUrl, initializeSDK } from "@mapvx/web-js"
|
|
101
|
+
*
|
|
102
|
+
* setMapLibreWorkerUrl("/assets/maplibre-gl-worker.mjs")
|
|
103
|
+
* const sdk = initializeSDK(token)
|
|
104
|
+
* ```
|
|
105
|
+
* @group Configuration
|
|
106
|
+
*/
|
|
107
|
+
export function setMapLibreWorkerUrl(url) {
|
|
108
|
+
setWorkerUrl(url);
|
|
109
|
+
// Stop claiming ownership: the URL in play is now the consumer's, and ours (if any) must not be
|
|
110
|
+
// revoked while a worker pool may still be using it.
|
|
111
|
+
installedWorkerUrl = null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* The worker URL MapLibre will use, or `""` when none has been set yet.
|
|
115
|
+
*
|
|
116
|
+
* Returns a `blob:` URL once the bundled worker has been installed, which happens when the first
|
|
117
|
+
* map is created. Useful to assert in tests that the bundled worker is in play.
|
|
118
|
+
*
|
|
119
|
+
* @returns The current MapLibre worker URL.
|
|
120
|
+
* @group Configuration
|
|
121
|
+
*/
|
|
122
|
+
export function getMapLibreWorkerUrl() {
|
|
123
|
+
return getWorkerUrl();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Resets the module-level install state. Test seam only — the blob URL is intentionally never
|
|
127
|
+
* revoked in production, so there is nothing to clean up outside tests.
|
|
128
|
+
*
|
|
129
|
+
* @internal
|
|
130
|
+
*/
|
|
131
|
+
export function resetMapLibreWorkerInstallForTests() {
|
|
132
|
+
installedWorkerUrl = null;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=installMapLibreWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installMapLibreWorker.js","sourceRoot":"","sources":["../../../src/map/installMapLibreWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAElG;;;GAGG;AACH,IAAI,kBAAkB,GAAkB,IAAI,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,kBAAkB,KAAK,IAAI;QAAE,OAAM;IACvC,mFAAmF;IACnF,IAAI,YAAY,EAAE;QAAE,OAAM;IAE1B,MAAM,cAAc,GAAG,UAAU,EAAE,CAAA;IACnC,IAAI,cAAc,KAAK,uBAAuB,EAAE,CAAC;QAC/C,6FAA6F;QAC7F,8FAA8F;QAC9F,2FAA2F;QAC3F,gCAAgC;QAChC,OAAO,CAAC,IAAI,CACV,4DAA4D,uBAAuB,OAAO;YACxF,eAAe,cAAc,oCAAoC,uBAAuB,GAAG;YAC3F,mFAAmF,CACtF,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QAC5E,uFAAuF;QACvF,yFAAyF;QACzF,6BAA6B;QAC7B,kBAAkB,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC9C,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8FAA8F;QAC9F,wFAAwF;QACxF,0EAA0E;QAC1E,kBAAkB,GAAG,IAAI,CAAA;QACzB,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAA;IAC/E,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,YAAY,CAAC,GAAG,CAAC,CAAA;IACjB,gGAAgG;IAChG,qDAAqD;IACrD,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,EAAE,CAAA;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC;IAChD,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC"}
|
package/dist/es/map/map.d.ts
CHANGED
|
@@ -744,11 +744,6 @@ export interface MapVXMap {
|
|
|
744
744
|
*/
|
|
745
745
|
clearTileCache(): void;
|
|
746
746
|
}
|
|
747
|
-
/**
|
|
748
|
-
* Class to interact with the map.
|
|
749
|
-
* @category Map
|
|
750
|
-
* @hidden
|
|
751
|
-
*/
|
|
752
747
|
export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
|
|
753
748
|
private readonly token;
|
|
754
749
|
/**
|
|
@@ -886,6 +881,14 @@ export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
|
|
|
886
881
|
private readonly initialCenter;
|
|
887
882
|
/** Owns the deck.gl overlay + GLB scene; created on style load only when 3D is active. */
|
|
888
883
|
private scene3D;
|
|
884
|
+
/**
|
|
885
|
+
* Whether the style currently applied publishes `fill-extrusion` layers, i.e. whether there are
|
|
886
|
+
* roofs for the 3D scene to sit on. Recomputed on every style the map is given, because the style
|
|
887
|
+
* is served per API key, not per venue: the same place can come back 3D on one key and flat on
|
|
888
|
+
* another. Assumed true until a style says otherwise, so 2D maps (which never read it) are
|
|
889
|
+
* unaffected.
|
|
890
|
+
*/
|
|
891
|
+
private styleSupports3D;
|
|
889
892
|
/**
|
|
890
893
|
* Creates a new map instance with the parameters specified in mapConfig and assigns it to the provided HTML container.
|
|
891
894
|
* @param mapConfig Configuration parameters for the map.
|
|
@@ -932,7 +935,13 @@ export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
|
|
|
932
935
|
clearTileCache(): void;
|
|
933
936
|
/**
|
|
934
937
|
* Whether 3D scene features (deck.gl overlay, declarative GLB custom layer, etc.) are active.
|
|
935
|
-
* Requires {@link MapConfig.mode} `"3D"
|
|
938
|
+
* Requires {@link MapConfig.mode} `"3D"`, {@link Scene3DConfig.enabled} not `false`, and a style
|
|
939
|
+
* that actually publishes `fill-extrusion` layers ({@link styleSupports3D}).
|
|
940
|
+
*
|
|
941
|
+
* That last condition is what keeps a caller from asking for 3D on a flat style: the overlay
|
|
942
|
+
* would float above the ground while `hideLayers` removed the 2D labels underneath, leaving a
|
|
943
|
+
* map with no labels at all — worse than the plain 2D map the caller would otherwise get.
|
|
944
|
+
*
|
|
936
945
|
* The heavy WebGL / deck.gl work lives in {@link Scene3DController}; this only decides whether one
|
|
937
946
|
* is created and wired up. When `scene3D` is omitted, 3D features remain available.
|
|
938
947
|
*/
|
|
@@ -1194,6 +1203,10 @@ export declare class InternalMapVXMap extends Loggeable implements MapVXMap {
|
|
|
1194
1203
|
private defaultClickListener;
|
|
1195
1204
|
private onHover;
|
|
1196
1205
|
setPlacesAsSelected(placeIds: string[], color?: string): void;
|
|
1206
|
+
/**
|
|
1207
|
+
* Same question as {@link styleHasExtrusions}, asked of the style the map is currently showing
|
|
1208
|
+
* rather than one about to be applied. Used after load, when `map.getStyle()` is available.
|
|
1209
|
+
*/
|
|
1197
1210
|
private is3DStyle;
|
|
1198
1211
|
private createColoredPlacesLayer;
|
|
1199
1212
|
private createBasicFilters;
|
package/dist/es/map/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/map/map.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,GAAG,EAQH,KAAK,kBAAkB,EAKxB,MAAM,aAAa,CAAA;AA8MpB,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,kBAAkB,EAGvB,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAIL,KAAK,SAAS,EAGf,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAU7D;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,UAAU,IAAI,IAAI,CAAA;IAElB;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;IAEvC;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;IAE1C;;;;;OAKG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjE;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC;;;OAGG;IACH,gBAAgB,IAAI,IAAI,CAAA;IAExB;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;IAEvC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAAA;IAEjD;;;;;;;;;;;;;;;;;OAiBG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAEtF;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAA;IAE1E;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;IAErD;;;;;;;;;;OAUG;IACH,UAAU,IAAI,YAAY,EAAE,CAAA;IAE5B;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAEpC;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpC;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAA;IAExB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAErC;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAErC;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IAEjF;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAExD;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAE3F;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAE1C;;;;;;;;;OASG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAErC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAE5C;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAElE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAEpE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAE7E;;;;;OAKG;IACH,UAAU,IAAI,MAAM,CAAA;IAEpB;;OAEG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAEhE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAA;IAE9F;;;;;;;;;;;;OAYG;IACH,yBAAyB,CACvB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI,CAAA;IAEP;;;;OAIG;IACH,YAAY,IAAI,WAAW,CAAA;IAE3B;;;;;;OAMG;IACH,MAAM,IAAI,IAAI,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE/F;;;;;;;;;;;;;;OAcG;IACH,YAAY,CACV,MAAM,EAAE,qBAAqB,EAC7B,UAAU,CAAC,EAAE,sBAAsB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAEtF;;;;;;;OAOG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnC;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;OAEG;IACH,eAAe,IAAI,IAAI,CAAA;IAEvB;;;OAGG;IACH,iBAAiB,IAAI,MAAM,EAAE,CAAA;IAE7B;;;;;OAKG;IACH,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAAA;IAEhD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE7D;;;OAGG;IACH,kBAAkB,IAAI,IAAI,CAAA;IAE1B;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3E;;OAEG;IACH,mBAAmB,IAAI,IAAI,CAAA;IAE3B;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;IACzD;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAAA;IAEzB;;;;;;OAMG;IACH,iBAAiB,CACf,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,CAAC,EAAE,sBAAsB,EACnC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB;;;;;;;OAOG;IACH,mBAAmB,CACjB,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,CAAC,EAAE,sBAAsB,EACnC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzC;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1C;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3C;;;OAGG;IACH,gBAAgB,IAAI,IAAI,CAAA;IAExB;;;;;;OAMG;IACH,gBAAgB,CACd,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,CAAC,EAAE,sBAAsB,EACnC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB;;;;;;;OAOG;IACH,kBAAkB,CAChB,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,CAAC,EAAE,sBAAsB,EACnC,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB;;;OAGG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzC;;;OAGG;IACH,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE7C;;;OAGG;IACH,4BAA4B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpD;;;;;OAKG;IACH,uBAAuB,CACrB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,WAAW,CAAC,EAAE,WAAW,EACzB,IAAI,CAAC,EAAE,WAAW,GACjB,IAAI,CAAA;IAEP;;OAEG;IACH,0BAA0B,IAAI,IAAI,CAAA;IAElC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IAEtF;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAAA;IAEzB;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IAEtC;;;;;;;;;OASG;IACH,cAAc,IAAI,IAAI,CAAA;CACvB;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAU,YAAW,QAAQ;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAC,CAAQ;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,WAAW,CAAoD;IACvE;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB,CAAoB;IAC/C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB,CAAC,CAAY;IAC7C,0FAA0F;IAC1F,OAAO,CAAC,eAAe,CAAC,CAA+B;IACvD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB,CAAI;IAC/B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB,CAAC,CAAwC;IACrE,OAAO,CAAC,qBAAqB,CAAC,CAAwD;IACtF;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAQ;IAC3B,GAAG,EAAG,GAAG,CAAA;IACT,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAwB;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IACjE,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA8B;IAC7D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAoC;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAC3D,OAAO,CAAC,sBAAsB,CAAC,CAAiC;IAChE,OAAO,CAAC,uBAAuB,CAAC,CAAkB;IAClD,OAAO,CAAC,2BAA2B,CAAC,CAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAG9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,6EAA6E;IAC7E,OAAO,CAAC,gBAAgB,CAAI;IAC5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB,CAAsB;IAEjD,0EAA0E;IAC1E,OAAO,KAAK,kBAAkB,GAE7B;IAED,oFAAoF;IACpF,OAAO,CAAC,GAAG;IAGX,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,0FAA0F;IAC1F,OAAO,CAAC,OAAO,CAA2C;IAE1D;;;;;;;OAOG;gBACS,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;IA4DvE;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,gBAAgB;IAoGxB,OAAO,CAAC,cAAc;IA4BtB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,oBAAoB;IAmE5B;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ3F,UAAU,IAAI,IAAI;IAuBlB,cAAc,IAAI,IAAI;IAkBtB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAIvB,eAAe,IAAI,MAAM;IAIzB;;;;;;;OAOG;IACH,qBAAqB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI;IAOrF;;;;OAIG;IAEH,OAAO,CAAC,mBAAmB;IA4C3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAc3B,yBAAyB,CACvB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI;IAaP,OAAO,CAAC,IAAI,EAAE,MAAM;IAcpB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAItF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IA4I9F;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAQrC;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;;;;;;;OAUG;IACH,UAAU,IAAI,SAAS,eAAe,EAAE;IAMxC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAsCvC,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAiBhD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAejE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAclC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAclC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAepC,gBAAgB,IAAI,IAAI;IAcxB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAmBvC,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAkBvD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKrD,UAAU,IAAI,YAAY,EAAE;IAI5B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IAuCtF,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,CACZ,IAAI,CACF,YAAY,EACZ,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAC9E,CACF,GACA,OAAO;IAyBV,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUpC,gBAAgB,IAAI,IAAI;IAUxB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAkBrC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAkBrC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;;;;;OAMG;IACH;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAmE1B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,6BAA6B;IAyCrC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IAU5B,oFAAoF;IACpF,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IASvB,YAAY,IAAI,WAAW;IAI3B,MAAM,IAAI,IAAI;IAWd,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IAmEvB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAQrB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IA+DtF;;;OAGG;IACH,cAAc,IAAI,UAAU,EAAE;IAI9B;;;;;;;OAOG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAO3D,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAQjF,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAKxD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAKxD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAW3F,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAW1C,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQrC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ5C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQtC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAalE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IA6DjE,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAyEpE,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAkB7E,YAAY,IAAI,MAAM;IAItB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAYhE,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAa/D,QAAQ,CACZ,MAAM,EAAE,qBAAqB,EAC7B,UAAU,GAAE,sBAA2B,GACtC,OAAO,CAAC,QAAQ,CAAC;IAcd,YAAY,CAChB,MAAM,EAAE,qBAAqB,EAC7B,UAAU,GAAE,sBAA2B,GACtC,OAAO,CAAC,QAAQ,CAAC;IAuCpB,mBAAmB,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,UAAgD,GAC5D,IAAI;IAWP,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAUnC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUtC,eAAe,IAAI,IAAI;IAUvB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IASvB,iBAAiB,IAAI,MAAM,EAAE;IAI7B,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM;IAahD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI/B,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIzD,iBAAiB,IAAI,IAAI;IAIzB,OAAO,CAAC,oBAAoB;IAmD5B,OAAO,CAAC,OAAO;IA2Bf,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAuC7D,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,wBAAwB;IA8BhC,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,QAAQ;IAKhB,kBAAkB,IAAI,IAAI;IAYpB,iBAAiB,CACrB,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,GAAE,sBAA2B,EACvC,eAAe,GAAE,eAAoB,GACpC,OAAO,CAAC,QAAQ,CAAC;IAmBd,mBAAmB,CACvB,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,GAAE,sBAA2B,EACvC,eAAe,GAAE,eAAoB,GACpC,OAAO,CAAC,QAAQ,CAAC;IAmBpB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IASzC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1C,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAS3C,gBAAgB,IAAI,IAAI;IAMlB,gBAAgB,CACpB,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,GAAE,sBAA2B,EACvC,eAAe,GAAE,eAAoB,GACpC,OAAO,CAAC,QAAQ,CAAC;IAsBd,kBAAkB,CACtB,WAAW,EAAE,qBAAqB,GAAG,QAAQ,EAC7C,UAAU,GAAE,sBAA2B,EACvC,eAAe,GAAE,eAAoB,GACpC,OAAO,CAAC,QAAQ,CAAC;IAsBpB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IASzC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAU7C,4BAA4B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAUpD,uBAAuB,CACrB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,WAAW,CAAC,EAAE,WAAW,EACzB,IAAI,CAAC,EAAE,WAAW,GACjB,IAAI;IAwCP,0BAA0B,IAAI,IAAI;IAclC,UAAU,IAAI,MAAM;IAIpB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IA8B3E,OAAO,CAAC,yBAAyB;IAejC,mBAAmB,IAAI,IAAI;IAW3B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;IACH;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,QAAQ;IAchB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,sBAAsB;IA+H9B,OAAO,CAAC,0BAA0B;CAyBnC"}
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/map/map.ts"],"names":[],"mappings":"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"}
|
package/dist/es/map/map.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LngLatBounds, Map, NavigationControl, Popup, addProtocol, } from "maplibre-gl";
|
|
2
2
|
import { Semaphore } from "../utils/semaphore";
|
|
3
|
+
import { installMapLibreWorker } from "./installMapLibreWorker";
|
|
3
4
|
/** Shared GeoJSON source holding every circle drawn through the circle API. */
|
|
4
5
|
const CIRCLE_SOURCE_ID = "mapvx-circles";
|
|
5
6
|
/** Fill layer rendering the translucent interior of the circles. */
|
|
@@ -184,6 +185,20 @@ import { buildInteractionOptions, shouldDisableTouchRotation } from "./mapIntera
|
|
|
184
185
|
* @category Map
|
|
185
186
|
* @hidden
|
|
186
187
|
*/
|
|
188
|
+
/**
|
|
189
|
+
* Whether a style publishes any `fill-extrusion` layer, i.e. whether it has extruded rooms for the
|
|
190
|
+
* 3D scene to stand on.
|
|
191
|
+
*
|
|
192
|
+
* This is the only reliable signal for "does 3D work here". `mapStyleJson` is served per API key,
|
|
193
|
+
* so the same venue comes back with extrusions on a 3D key and flat on a 2D one — the place id
|
|
194
|
+
* cannot answer the question.
|
|
195
|
+
*
|
|
196
|
+
* @param style The style about to be applied, or the one currently applied.
|
|
197
|
+
* @returns `true` when at least one layer is `fill-extrusion`.
|
|
198
|
+
*/
|
|
199
|
+
function styleHasExtrusions(style) {
|
|
200
|
+
return style.layers.some((layer) => layer.type === "fill-extrusion");
|
|
201
|
+
}
|
|
187
202
|
export class InternalMapVXMap extends Loggeable {
|
|
188
203
|
/** Whether a floor change is still rebuilding, so markers wait for it. */
|
|
189
204
|
get floorSettlePending() {
|
|
@@ -272,6 +287,23 @@ export class InternalMapVXMap extends Loggeable {
|
|
|
272
287
|
this.floorSettleDeadline = null;
|
|
273
288
|
/** Owns the deck.gl overlay + GLB scene; created on style load only when 3D is active. */
|
|
274
289
|
this.scene3D = undefined;
|
|
290
|
+
/**
|
|
291
|
+
* Whether the style currently applied publishes `fill-extrusion` layers, i.e. whether there are
|
|
292
|
+
* roofs for the 3D scene to sit on. Recomputed on every style the map is given, because the style
|
|
293
|
+
* is served per API key, not per venue: the same place can come back 3D on one key and flat on
|
|
294
|
+
* another. Assumed true until a style says otherwise, so 2D maps (which never read it) are
|
|
295
|
+
* unaffected.
|
|
296
|
+
*/
|
|
297
|
+
this.styleSupports3D = true;
|
|
298
|
+
// First statement on purpose, and further forward than it looks necessary. MapLibre reads
|
|
299
|
+
// WORKER_URL once, when its first Dispatcher is built, and never again while any map is alive
|
|
300
|
+
// — so the worker has to be installed before *anything* touches MapLibre, not merely before
|
|
301
|
+
// `new Map(...)`. Today the constructor reaches MapLibre only through the map itself, but
|
|
302
|
+
// until recently it also called `setRTLTextPlugin()` here, which builds a Dispatcher of its
|
|
303
|
+
// own 200 lines ahead of the map; `prewarm()` and `importScriptInWorkers()` do the same.
|
|
304
|
+
// Keeping this first means no later edit can slip such a call in front of it.
|
|
305
|
+
// See installMapLibreWorker and DEVELOPER_DOCS/MAPLIBRE_V6_MIGRATION.md.
|
|
306
|
+
installMapLibreWorker();
|
|
275
307
|
this.repository = new Repository(token, (_a = mapConfig.lang) !== null && _a !== void 0 ? _a : "en", mapConfig.apiUrl, undefined, mapConfig.mapvxRequestContext, {
|
|
276
308
|
routeApiUrl: mapConfig.routeApiUrl,
|
|
277
309
|
healthApiUrl: mapConfig.healthApiUrl,
|
|
@@ -400,7 +432,7 @@ export class InternalMapVXMap extends Loggeable {
|
|
|
400
432
|
});
|
|
401
433
|
}
|
|
402
434
|
onMapStyleLoaded(mapConfig, container, style) {
|
|
403
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
435
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
404
436
|
// Determine if service worker caching should be enabled
|
|
405
437
|
const useServiceWorkerCaching = this.tileCacheConfig.enabled && this.tileCacheConfig.persistToServiceWorker;
|
|
406
438
|
if (useServiceWorkerCaching) {
|
|
@@ -408,7 +440,17 @@ export class InternalMapVXMap extends Loggeable {
|
|
|
408
440
|
}
|
|
409
441
|
// Transform tile URLs only if service worker caching is enabled
|
|
410
442
|
const finalStyle = useServiceWorkerCaching ? this.transformStyleForCaching(style) : style;
|
|
411
|
-
|
|
443
|
+
// Read straight off the style object rather than `map.getStyle()`: the map does not exist yet
|
|
444
|
+
// here, and the decision has to be made before the 3D controller is constructed below.
|
|
445
|
+
this.styleSupports3D = styleHasExtrusions(finalStyle);
|
|
446
|
+
if (this.mode === "3D" && !this.styleSupports3D) {
|
|
447
|
+
this.logWarning(new Error("3D was requested but this style publishes no `fill-extrusion` layers, so there are no " +
|
|
448
|
+
"roofs to draw on. Falling back to 2D: the deck.gl overlay and `hideLayers` are " +
|
|
449
|
+
"skipped, which keeps the flat labels visible instead of hiding them under an overlay " +
|
|
450
|
+
"floating above the ground. The style is served per API key, not per venue, so check " +
|
|
451
|
+
"that this key publishes 3D."), { functionName: "onMapStyleLoaded", parentPlaceId: (_a = this.parentPlaceId) !== null && _a !== void 0 ? _a : "" });
|
|
452
|
+
}
|
|
453
|
+
const mapOptions = Object.assign({ container, style: finalStyle, center: mapConfig.center, zoom: mapConfig.zoom, pitch: (_b = mapConfig.pitch) !== null && _b !== void 0 ? _b : 0, attributionControl: false, maplibreLogo: false, bearingSnap: (_c = mapConfig.bearingSnap) !== null && _c !== void 0 ? _c : 0, cancelPendingTileRequestsWhileZooming: true,
|
|
412
454
|
// Use configured maxTiles for MapLibre's memory cache
|
|
413
455
|
maxTileCacheSize: this.tileCacheConfig.maxTiles }, buildInteractionOptions(mapConfig));
|
|
414
456
|
if (mapConfig.maxZoom)
|
|
@@ -435,12 +477,12 @@ export class InternalMapVXMap extends Loggeable {
|
|
|
435
477
|
// When rotation is disabled we still want pinch-to-zoom to work, so the
|
|
436
478
|
// two-finger rotation is turned off here instead of via the constructor.
|
|
437
479
|
if (shouldDisableTouchRotation(mapConfig)) {
|
|
438
|
-
(
|
|
480
|
+
(_e = (_d = this.map.touchZoomRotate) === null || _d === void 0 ? void 0 : _d.disableRotation) === null || _e === void 0 ? void 0 : _e.call(_d);
|
|
439
481
|
}
|
|
440
482
|
this.map.addControl(new NavigationControl({
|
|
441
|
-
showCompass: (
|
|
442
|
-
showZoom: (
|
|
443
|
-
}), (
|
|
483
|
+
showCompass: (_f = mapConfig.showCompass) !== null && _f !== void 0 ? _f : true,
|
|
484
|
+
showZoom: (_g = mapConfig.showZoom) !== null && _g !== void 0 ? _g : true,
|
|
485
|
+
}), (_h = mapConfig.navigationPosition) !== null && _h !== void 0 ? _h : "top-right");
|
|
444
486
|
this.map.on("load", () => {
|
|
445
487
|
var _a, _b;
|
|
446
488
|
// 3D libraries load asynchronously; the rest of the load flow does not wait on them.
|
|
@@ -640,13 +682,19 @@ export class InternalMapVXMap extends Loggeable {
|
|
|
640
682
|
}
|
|
641
683
|
/**
|
|
642
684
|
* Whether 3D scene features (deck.gl overlay, declarative GLB custom layer, etc.) are active.
|
|
643
|
-
* Requires {@link MapConfig.mode} `"3D"
|
|
685
|
+
* Requires {@link MapConfig.mode} `"3D"`, {@link Scene3DConfig.enabled} not `false`, and a style
|
|
686
|
+
* that actually publishes `fill-extrusion` layers ({@link styleSupports3D}).
|
|
687
|
+
*
|
|
688
|
+
* That last condition is what keeps a caller from asking for 3D on a flat style: the overlay
|
|
689
|
+
* would float above the ground while `hideLayers` removed the 2D labels underneath, leaving a
|
|
690
|
+
* map with no labels at all — worse than the plain 2D map the caller would otherwise get.
|
|
691
|
+
*
|
|
644
692
|
* The heavy WebGL / deck.gl work lives in {@link Scene3DController}; this only decides whether one
|
|
645
693
|
* is created and wired up. When `scene3D` is omitted, 3D features remain available.
|
|
646
694
|
*/
|
|
647
695
|
is3DSceneActive() {
|
|
648
696
|
var _a;
|
|
649
|
-
return this.mode === "3D" && ((_a = this.scene3DConfig) === null || _a === void 0 ? void 0 : _a.enabled) !== false;
|
|
697
|
+
return this.mode === "3D" && ((_a = this.scene3DConfig) === null || _a === void 0 ? void 0 : _a.enabled) !== false && this.styleSupports3D;
|
|
650
698
|
}
|
|
651
699
|
getCurrentFloor() {
|
|
652
700
|
var _a;
|
|
@@ -952,10 +1000,19 @@ export class InternalMapVXMap extends Loggeable {
|
|
|
952
1000
|
const { placeIds, color, width } = this.borderedPlacesRequest;
|
|
953
1001
|
restore("borderedPlaces", () => this.addBorderToPlaces(placeIds, color, width));
|
|
954
1002
|
}
|
|
1003
|
+
// A style swap can cross the 3D/2D line: `changeParentPlaceTo` refetches `mapStyleJson`, and
|
|
1004
|
+
// the new venue's style may publish no extrusions. Re-read it from the live style before
|
|
1005
|
+
// deciding, or the reattach below would put the overlay back on flat ground.
|
|
1006
|
+
this.styleSupports3D = this.is3DStyle();
|
|
955
1007
|
// The swap removed the GLB custom layer, and MapLibre called its `onRemove`, which
|
|
956
1008
|
// disposes the whole three.js scene. Nothing else re-adds it, so without this every
|
|
957
1009
|
// 3D model disappears permanently and `hideLayers` stops being applied.
|
|
958
|
-
restore("scene3D", () => {
|
|
1010
|
+
restore("scene3D", () => {
|
|
1011
|
+
var _a;
|
|
1012
|
+
if (!this.is3DSceneActive())
|
|
1013
|
+
return;
|
|
1014
|
+
(_a = this.scene3D) === null || _a === void 0 ? void 0 : _a.reattachToStyle();
|
|
1015
|
+
});
|
|
959
1016
|
}
|
|
960
1017
|
/**
|
|
961
1018
|
* Removes the `styledata` listener left by an in-flight {@link setStyle} swap, if any.
|
|
@@ -2176,9 +2233,12 @@ export class InternalMapVXMap extends Loggeable {
|
|
|
2176
2233
|
this.debugLog("Place selection failed (layer may not exist)", error);
|
|
2177
2234
|
}
|
|
2178
2235
|
}
|
|
2236
|
+
/**
|
|
2237
|
+
* Same question as {@link styleHasExtrusions}, asked of the style the map is currently showing
|
|
2238
|
+
* rather than one about to be applied. Used after load, when `map.getStyle()` is available.
|
|
2239
|
+
*/
|
|
2179
2240
|
is3DStyle() {
|
|
2180
|
-
|
|
2181
|
-
return layers.some((layer) => layer.type === "fill-extrusion");
|
|
2241
|
+
return styleHasExtrusions(this.map.getStyle());
|
|
2182
2242
|
}
|
|
2183
2243
|
createColoredPlacesLayer() {
|
|
2184
2244
|
if (this.is3DStyle()) {
|