@pacem/pacem 1.0.0-bessel → 1.0.0-binet
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/dist/browser/pacem-2d.js +149 -2
- package/dist/browser/pacem-2d.js.map +1 -1
- package/dist/browser/pacem-2d.min.js +1 -1
- package/dist/browser/pacem-3d.js +646 -2
- package/dist/browser/pacem-3d.js.map +1 -1
- package/dist/browser/pacem-3d.min.js +1 -1
- package/dist/browser/pacem-charts.js +21 -1
- package/dist/browser/pacem-charts.js.map +1 -1
- package/dist/browser/pacem-charts.min.js +1 -1
- package/dist/browser/pacem-cms.js +118 -3
- package/dist/browser/pacem-cms.js.map +1 -1
- package/dist/browser/pacem-cms.min.js +1 -1
- package/dist/browser/pacem-core.js +870 -9
- package/dist/browser/pacem-core.js.map +1 -1
- package/dist/browser/pacem-core.min.js +2 -2
- package/dist/browser/pacem-foundation.js +296 -1
- package/dist/browser/pacem-foundation.js.map +1 -1
- package/dist/browser/pacem-foundation.min.js +1 -1
- package/dist/browser/pacem-fx.js +18 -1
- package/dist/browser/pacem-fx.js.map +1 -1
- package/dist/browser/pacem-fx.min.js +1 -1
- package/dist/browser/pacem-logging.js +15 -1
- package/dist/browser/pacem-logging.js.map +1 -1
- package/dist/browser/pacem-logging.min.js +1 -1
- package/dist/browser/pacem-maps.js +97 -1
- package/dist/browser/pacem-maps.js.map +1 -1
- package/dist/browser/pacem-maps.min.js +1 -1
- package/dist/browser/pacem-media.js +14 -1
- package/dist/browser/pacem-media.js.map +1 -1
- package/dist/browser/pacem-media.min.js +1 -1
- package/dist/browser/pacem-networking.js +22 -1
- package/dist/browser/pacem-networking.js.map +1 -1
- package/dist/browser/pacem-networking.min.js +1 -1
- package/dist/browser/pacem-numerical.js +360 -1
- package/dist/browser/pacem-numerical.js.map +1 -1
- package/dist/browser/pacem-numerical.min.js +1 -1
- package/dist/browser/pacem-plus.js +195 -4
- package/dist/browser/pacem-plus.js.map +1 -1
- package/dist/browser/pacem-plus.min.js +1 -1
- package/dist/browser/pacem-scaffolding.js +420 -38
- package/dist/browser/pacem-scaffolding.js.map +1 -1
- package/dist/browser/pacem-scaffolding.min.js +2 -2
- package/dist/browser/pacem-ui.js +143 -19
- package/dist/browser/pacem-ui.js.map +1 -1
- package/dist/browser/pacem-ui.min.js +2 -2
- package/dist/bundle/pacem.min.mjs +147 -147
- package/dist/bundle/pacem.mjs +2905 -1417
- package/dist/bundle/pacem.mjs.map +3 -3
- package/dist/docs/pacem-2d.json +11549 -0
- package/dist/docs/pacem-3d.json +29096 -0
- package/dist/docs/pacem-charts.json +4244 -0
- package/dist/docs/pacem-cms.json +9325 -0
- package/dist/docs/pacem-core.json +40109 -0
- package/dist/docs/pacem-foundation.json +8941 -0
- package/dist/docs/pacem-fx.json +3121 -0
- package/dist/docs/pacem-logging.json +941 -0
- package/dist/docs/pacem-maps.json +17387 -0
- package/dist/docs/pacem-media.json +1203 -0
- package/dist/docs/pacem-networking.json +1798 -0
- package/dist/docs/pacem-numerical.json +13706 -0
- package/dist/docs/pacem-plus.json +8468 -0
- package/dist/docs/pacem-scaffolding.json +34788 -0
- package/dist/docs/pacem-ui.json +18628 -0
- package/dist/typings/index.d.ts +4109 -31
- package/dist/vscode.html-custom.json +1303 -741
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pacem-logging.js","sources":["../esm/types.js","../esm/console.js","../esm/fps.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, Concurrent } from '@pacem/pacem-core';\nconst DEFAULT_DATA = { current: 0, count: 0, average: 0, max: Number.MIN_VALUE, min: Number.MAX_VALUE };\nexport class PacemTrackerElement extends PacemEventTarget {\n constructor() {\n super();\n this.data = DEFAULT_DATA;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'entry')\n this._update(val).then(t => this.data = t);\n }\n _update(ne) {\n //var deferred = DeferPromise.defer<TrackingData>();\n let fn = () => {\n const data = this.data, min = Math.min(ne, data.min), max = Math.max(ne, data.max), count = data.count + 1, average = (data.count * data.average + ne) / count;\n return { count: count, min: min, max: max, average: average, current: ne };\n };\n return Utils.fromResultAsync(fn);\n //return Utils.fromResult/*Async*/(fn());\n }\n reset() {\n this.data = DEFAULT_DATA;\n }\n}\n__decorate([\n Watch({ converter: PropertyConverters.Json })\n], PacemTrackerElement.prototype, \"data\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemTrackerElement.prototype, \"entry\", void 0);\n__decorate([\n Concurrent()\n], PacemTrackerElement.prototype, \"_update\", null);\n//}\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, CustomElement, Logging, P } from '@pacem/pacem-core';\nconst DEFAULT_CONFIG = {\n error: true, info: true, warn: true\n};\nlet PacemConsoleElement = class PacemConsoleElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._config = DEFAULT_CONFIG;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'configuration') {\n this._config = Utils.extend({}, DEFAULT_CONFIG, val ?? {});\n }\n }\n log(level, message, category) {\n try {\n /* console enabled? better check: you might find cumbersome behaviors on IE/Edge when F12 tools aren't available! */\n this._log(level, message, category);\n }\n catch (e) { }\n }\n _log(level, message, category) {\n // enabled?\n if (!this.disabled && this._config[level] === true) {\n if (category !== this._category) {\n if (!Utils.isNullOrEmpty(this._category))\n console.groupEnd();\n if (!Utils.isNullOrEmpty(category)) {\n console.group(category);\n }\n this._category = category;\n }\n var fn = (m) => { };\n switch (level) {\n case Logging.LogLevel.Debug:\n fn = console.debug;\n break;\n case Logging.LogLevel.Error:\n fn = console.error;\n break;\n case Logging.LogLevel.Info:\n fn = console.info;\n break;\n case Logging.LogLevel.Trace:\n fn = console.trace;\n break;\n case Logging.LogLevel.Warn:\n fn = console.warn;\n break;\n case Logging.LogLevel.Log:\n fn = console.log;\n break;\n }\n fn(new Date().toISOString() + ': ' + message);\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Json })\n], PacemConsoleElement.prototype, \"configuration\", void 0);\nPacemConsoleElement = __decorate([\n CustomElement({ tagName: P + '-console' })\n], PacemConsoleElement);\nexport { PacemConsoleElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, P } from '@pacem/pacem-core';\nimport { PacemTrackerElement } from './types';\n//namespace Pacem.Components.Logging {\nlet PacemFpsElement = class PacemFpsElement extends PacemTrackerElement {\n constructor() {\n super();\n }\n _start(t0 = Date.now()) {\n this._handle = requestAnimationFrame(() => {\n const t1 = Date.now(), msecs = t1 - t0;\n // sets new entry\n this.entry = Math.min(60, 1000.0 / msecs);\n this._start(t1);\n });\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._start();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this._handle);\n super.disconnectedCallback();\n }\n};\nPacemFpsElement = __decorate([\n CustomElement({\n tagName: P + '-fps'\n })\n], PacemFpsElement);\nexport { PacemFpsElement };\n//}\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Utils","Watch","PropertyConverters","Concurrent","Logging","CustomElement","P","DeepMerger"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pacem-logging.js","sources":["../esm/types.js","../esm/console.js","../esm/fps.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, Concurrent } from '@pacem/pacem-core';\nconst DEFAULT_DATA = { current: 0, count: 0, average: 0, max: Number.MIN_VALUE, min: Number.MAX_VALUE };\n/**\n * Base class for tracker elements (e.g. {@link PacemFpsElement}) that feed successive numeric samples\n * through `entry` and expose running statistics through `data`.\n */\nexport class PacemTrackerElement extends PacemEventTarget {\n constructor() {\n super();\n /** @readonly Gets the aggregate statistics (count, average, min, max, current) computed so far. */\n this.data = DEFAULT_DATA;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'entry')\n this._update(val).then(t => this.data = t);\n }\n _update(ne) {\n //var deferred = DeferPromise.defer<TrackingData>();\n let fn = () => {\n const data = this.data, min = Math.min(ne, data.min), max = Math.max(ne, data.max), count = data.count + 1, average = (data.count * data.average + ne) / count;\n return { count: count, min: min, max: max, average: average, current: ne };\n };\n return Utils.fromResultAsync(fn);\n //return Utils.fromResult/*Async*/(fn());\n }\n /** Resets `data` back to its initial (empty) state. */\n reset() {\n this.data = DEFAULT_DATA;\n }\n}\n__decorate([\n Watch({ converter: PropertyConverters.Json })\n], PacemTrackerElement.prototype, \"data\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemTrackerElement.prototype, \"entry\", void 0);\n__decorate([\n Concurrent()\n], PacemTrackerElement.prototype, \"_update\", null);\n//}\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, CustomElement, Logging, P } from '@pacem/pacem-core';\nconst DEFAULT_CONFIG = {\n error: true, info: true, warn: true\n};\n/** A {@link Logging.Logger} implementation that forwards enabled log levels to the browser's `console`. */\nlet PacemConsoleElement = class PacemConsoleElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._config = DEFAULT_CONFIG;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'configuration') {\n this._config = Utils.extend({}, DEFAULT_CONFIG, val ?? {});\n }\n }\n /**\n * Logs `message` to the browser console, provided the element isn't disabled and `level` is enabled in `configuration`.\n * @param level Severity/level of the message.\n * @param message Content to log.\n * @param category Optional grouping category (rendered as a `console.group`).\n */\n log(level, message, category) {\n try {\n /* console enabled? better check: you might find cumbersome behaviors on IE/Edge when F12 tools aren't available! */\n this._log(level, message, category);\n }\n catch (e) { }\n }\n _log(level, message, category) {\n // enabled?\n if (!this.disabled && this._config[level] === true) {\n if (category !== this._category) {\n if (!Utils.isNullOrEmpty(this._category))\n console.groupEnd();\n if (!Utils.isNullOrEmpty(category)) {\n console.group(category);\n }\n this._category = category;\n }\n var fn = (m) => { };\n switch (level) {\n case Logging.LogLevel.Debug:\n fn = console.debug;\n break;\n case Logging.LogLevel.Error:\n fn = console.error;\n break;\n case Logging.LogLevel.Info:\n fn = console.info;\n break;\n case Logging.LogLevel.Trace:\n fn = console.trace;\n break;\n case Logging.LogLevel.Warn:\n fn = console.warn;\n break;\n case Logging.LogLevel.Log:\n fn = console.log;\n break;\n }\n fn(new Date().toISOString() + ': ' + message);\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Json })\n], PacemConsoleElement.prototype, \"configuration\", void 0);\nPacemConsoleElement = __decorate([\n CustomElement({ tagName: P + '-console' })\n], PacemConsoleElement);\nexport { PacemConsoleElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, P } from '@pacem/pacem-core';\nimport { PacemTrackerElement } from './types';\n//namespace Pacem.Components.Logging {\n/** Tracks the browser's rendering frame rate (frames per second) via `requestAnimationFrame`, feeding it into {@link PacemTrackerElement}'s `data`. */\nlet PacemFpsElement = class PacemFpsElement extends PacemTrackerElement {\n constructor() {\n super();\n }\n _start(t0 = Date.now()) {\n this._handle = requestAnimationFrame(() => {\n const t1 = Date.now(), msecs = t1 - t0;\n // sets new entry\n this.entry = Math.min(60, 1000.0 / msecs);\n this._start(t1);\n });\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._start();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this._handle);\n super.disconnectedCallback();\n }\n};\nPacemFpsElement = __decorate([\n CustomElement({\n tagName: P + '-fps'\n })\n], PacemFpsElement);\nexport { PacemFpsElement };\n//}\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Utils","Watch","PropertyConverters","Concurrent","Logging","CustomElement","P","DeepMerger"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem v1.0.0-
|
|
2
|
+
* @pacem/pacem v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -13,36 +13,47 @@
|
|
|
13
13
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
14
|
};
|
|
15
15
|
const EMPTY_LATLNG = { lat: Number.NaN, lng: Number.NaN };
|
|
16
|
+
/** Static helpers for working with {@link LatLng} literals: the well-known {@link Empty} value, equality/emptiness checks, and translation. */
|
|
16
17
|
class LatLng {
|
|
18
|
+
/** Gets the well-known "empty" (`NaN`/`NaN`) {@link LatLng}. */
|
|
17
19
|
static get Empty() {
|
|
18
20
|
return EMPTY_LATLNG;
|
|
19
21
|
}
|
|
22
|
+
/** Returns whether the given {@link LatLng} is the {@link Empty} value (or otherwise has `NaN` coordinates). */
|
|
20
23
|
static isEmpty(l) {
|
|
21
24
|
return l === EMPTY_LATLNG || (isNaN(l.lat) && isNaN(l.lng));
|
|
22
25
|
}
|
|
26
|
+
/** Type-guard: returns whether the given object structurally looks like a {@link LatLng}. */
|
|
23
27
|
static isLatLng(obj) {
|
|
24
28
|
return 'lat' in obj && typeof obj.lat === 'number'
|
|
25
29
|
&& 'lng' in obj && typeof obj.lng == 'number';
|
|
26
30
|
}
|
|
31
|
+
/** Returns a new {@link LatLng} obtained by adding `delta`'s coordinates to `start`'s. */
|
|
27
32
|
static translate(start, delta) {
|
|
28
33
|
// TODO: handle 'EDGE' cases!
|
|
29
34
|
return { lat: start.lat + delta.lat, lng: start.lng + delta.lng };
|
|
30
35
|
}
|
|
36
|
+
/** Returns whether two {@link LatLng} values are equal (by reference or by coordinates). */
|
|
31
37
|
static equals(a, b) {
|
|
32
38
|
return a === b || (a.lat === b.lat && a.lng === b.lng);
|
|
33
39
|
}
|
|
34
40
|
}
|
|
35
41
|
const EMPTY_LATLNG_BOUNDS = { ne: LatLng.Empty, sw: LatLng.Empty };
|
|
42
|
+
/** Static helpers for working with {@link LatLngBounds} literals: the well-known {@link Empty} value, emptiness/point checks, and union. */
|
|
36
43
|
class LatLngBounds {
|
|
44
|
+
/** Gets the well-known "empty" {@link LatLngBounds}. */
|
|
37
45
|
static get Empty() {
|
|
38
46
|
return EMPTY_LATLNG_BOUNDS;
|
|
39
47
|
}
|
|
48
|
+
/** Returns whether the given {@link LatLngBounds} is the {@link Empty} value (or otherwise has empty corners). */
|
|
40
49
|
static isEmpty(bnds) {
|
|
41
50
|
return bnds === EMPTY_LATLNG_BOUNDS || (LatLng.isEmpty(bnds.ne) && LatLng.isEmpty(bnds.sw));
|
|
42
51
|
}
|
|
52
|
+
/** Returns whether the given bounds collapse to a single point (equal, non-empty corners). */
|
|
43
53
|
static isPoint(bnds) {
|
|
44
54
|
return !this.isEmpty(bnds) && (bnds.ne === bnds.sw || (bnds.ne.lat === bnds.sw.lat && bnds.ne.lng === bnds.sw.lng));
|
|
45
55
|
}
|
|
56
|
+
/** Type-guard: returns whether the given object structurally looks like a {@link LatLngBounds}. */
|
|
46
57
|
static isLatLngBounds(obj) {
|
|
47
58
|
return typeof obj === 'object'
|
|
48
59
|
&& 'ne' in obj && LatLng.isLatLng(obj.ne)
|
|
@@ -72,6 +83,7 @@
|
|
|
72
83
|
}
|
|
73
84
|
return a;
|
|
74
85
|
}
|
|
86
|
+
/** Returns whether two {@link LatLngBounds} values are equal (by reference or by corners). */
|
|
75
87
|
static equals(a, b) {
|
|
76
88
|
return a === b || (LatLng.equals(a.ne, b.ne) && LatLng.equals(a.sw, b.sw));
|
|
77
89
|
}
|
|
@@ -87,6 +99,7 @@
|
|
|
87
99
|
TRANSFORMERS_NS: 'maps',
|
|
88
100
|
//DEFAULT_COORDS: { lat: 44.714188025077984, lng: 10.296516444873811 }
|
|
89
101
|
};
|
|
102
|
+
/** Converts between geographic coordinates ({@link LatLng}) and pixel coordinates within a given viewport ({@link LatLngBounds} over a {@link Size}), plus static distance/offset helpers usable as Pacem expression transformers. */
|
|
90
103
|
class MapProjection {
|
|
91
104
|
constructor(_pixelSize, _bounds, _normalizedSize = MapProjectionConsts.SIZE) {
|
|
92
105
|
this._pixelSize = _pixelSize;
|
|
@@ -179,9 +192,21 @@
|
|
|
179
192
|
static distanceBetween(from, to, r = MapProjectionConsts.EARTH_RADIUS) {
|
|
180
193
|
return MapProjection._haversine(from, to) * r;
|
|
181
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Projects a geographic position onto pixel coordinates within a viewport of the given `size` and `bounds`.
|
|
197
|
+
* @param latLng Position to project.
|
|
198
|
+
* @param bounds Viewport geographic bounds.
|
|
199
|
+
* @param size Viewport pixel size.
|
|
200
|
+
*/
|
|
182
201
|
static latLngToPoint(latLng, bounds, size) {
|
|
183
202
|
return new MapProjection(size, bounds)._latLngToPoint(latLng);
|
|
184
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Un-projects a pixel coordinate within a viewport of the given `size` and `bounds` back to a geographic position.
|
|
206
|
+
* @param point Pixel coordinate to un-project.
|
|
207
|
+
* @param size Viewport pixel size.
|
|
208
|
+
* @param bounds Viewport geographic bounds.
|
|
209
|
+
*/
|
|
185
210
|
static pointToLatLng(point, size, bounds) {
|
|
186
211
|
return new MapProjection(size, bounds)._pointToLatLng(point);
|
|
187
212
|
}
|
|
@@ -214,18 +239,28 @@
|
|
|
214
239
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
215
240
|
};
|
|
216
241
|
// namespace Pacem.Components.Maps {
|
|
242
|
+
/** Base map rendering style, abstracted across the Azure Maps/Google Maps/Leaflet adapters. */
|
|
217
243
|
var MapType;
|
|
218
244
|
(function (MapType) {
|
|
245
|
+
/** Standard road/street map. */
|
|
219
246
|
MapType["ROAD"] = "road";
|
|
247
|
+
/** Satellite imagery only. */
|
|
220
248
|
MapType["SATELLITE"] = "satellite";
|
|
249
|
+
/** Satellite imagery with road labels overlaid. */
|
|
221
250
|
MapType["HYBRID"] = "hybrid";
|
|
251
|
+
/** Terrain/relief map. */
|
|
222
252
|
MapType["TERRAIN"] = "terrain";
|
|
253
|
+
/** High-contrast variant, where supported by the underlying provider. */
|
|
223
254
|
MapType["HIGH_CONTRAST"] = "high_contrast";
|
|
224
255
|
})(MapType || (MapType = {}));
|
|
256
|
+
/** Color scheme applied to the map style, where supported by the underlying provider. */
|
|
225
257
|
var MapColorScheme;
|
|
226
258
|
(function (MapColorScheme) {
|
|
259
|
+
/** Forces the light variant of the map style. */
|
|
227
260
|
MapColorScheme["LIGHT"] = "light";
|
|
261
|
+
/** Forces the dark variant of the map style. */
|
|
228
262
|
MapColorScheme["DARK"] = "dark";
|
|
263
|
+
/** Follows the OS/browser color-scheme preference. */
|
|
229
264
|
MapColorScheme["SYSTEM"] = "system";
|
|
230
265
|
})(MapColorScheme || (MapColorScheme = {}));
|
|
231
266
|
const MapConstsInternal = {
|
|
@@ -239,6 +274,7 @@
|
|
|
239
274
|
GEOCODER_SELECTOR: pacemCore.P + '-map-geocode',
|
|
240
275
|
DEFAULT_COORDS: { lat: 44.714188025077984, lng: 10.296516444873811 }
|
|
241
276
|
};
|
|
277
|
+
/** Public map-related constants, currently exposing the library's default center coordinates. */
|
|
242
278
|
const MapConsts = {
|
|
243
279
|
DEFAULT_COORDS: MapConstsInternal.DEFAULT_COORDS
|
|
244
280
|
};
|
|
@@ -251,6 +287,7 @@
|
|
|
251
287
|
return LatLngBounds.isLatLngBounds(obj);
|
|
252
288
|
}
|
|
253
289
|
const DEFAULT_MAPTARGET_KEY = 'defaultMapTarget';
|
|
290
|
+
/** {@link PropertyConverter} that parses a `"lat,lng"` (or JSON) attribute into a {@link LatLng}, and serializes it back to JSON. */
|
|
254
291
|
const LatLngConverter = {
|
|
255
292
|
convert: attr => {
|
|
256
293
|
const arr = /^\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*$/.exec(attr);
|
|
@@ -261,6 +298,7 @@
|
|
|
261
298
|
},
|
|
262
299
|
convertBack: prop => JSON.stringify(prop)
|
|
263
300
|
};
|
|
301
|
+
/** {@link PropertyConverter} that parses a `"neLat,neLng,swLat,swLng"` (or JSON) attribute into a {@link LatLngBounds}, and serializes it back to JSON. */
|
|
264
302
|
const LatLngBoundsConverter = {
|
|
265
303
|
convert: attr => {
|
|
266
304
|
const arr = /^\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*$/.exec(attr);
|
|
@@ -274,7 +312,9 @@
|
|
|
274
312
|
},
|
|
275
313
|
convertBack: prop => JSON.stringify(prop)
|
|
276
314
|
};
|
|
315
|
+
/** Static helpers shared across map adapters: coordinate parsing, bounds expansion, and content-emptiness checks. */
|
|
277
316
|
class MapUtils {
|
|
317
|
+
/** Parses a `LatLng`, a `[lat, lng]` array, or a `"lat,lng"` string into a `[lat, lng]` tuple; falls back to {@link MapConsts.DEFAULT_COORDS} when unparsable. */
|
|
278
318
|
static parseCoords(input) {
|
|
279
319
|
if (input && !isNaN(input['lat']) && !isNaN(input['lng']))
|
|
280
320
|
return [input['lat'], input['lng']];
|
|
@@ -286,6 +326,7 @@
|
|
|
286
326
|
}
|
|
287
327
|
return [MapConstsInternal.DEFAULT_COORDS.lat, MapConstsInternal.DEFAULT_COORDS.lng];
|
|
288
328
|
}
|
|
329
|
+
/** Appends the given `LatLng` (or `[lat, lng]` array) to the `bnds` collection, in-place, unless it is nullish. */
|
|
289
330
|
static expandBounds(bnds, latLng) {
|
|
290
331
|
if (latLng) {
|
|
291
332
|
if (!Array.isArray(latLng)) {
|
|
@@ -294,11 +335,14 @@
|
|
|
294
335
|
bnds.push(latLng);
|
|
295
336
|
}
|
|
296
337
|
}
|
|
338
|
+
/** Returns whether the given element has no child elements (used to decide whether to fall back to a marker's plain `caption`). */
|
|
297
339
|
static isContentEmpty(element) {
|
|
298
340
|
return element.children.length == 0;
|
|
299
341
|
}
|
|
300
342
|
}
|
|
343
|
+
/** Abstract base for every map-relevant custom element (markers, shapes, layers, overlays) that registers itself with an ancestor {@link PacemMapElement} and is drawn/removed through its currently active {@link PacemMapAdapterElement}. */
|
|
301
344
|
class MapRelevantElement extends pacemCore.PacemEventTarget {
|
|
345
|
+
/** @readonly Gets the ancestor {@link PacemMapElement} this item belongs to. */
|
|
302
346
|
get map() {
|
|
303
347
|
return this['_map'] = this['_map'] || pacemCore.CustomElementUtils.findAncestorOfType(this, PacemMapElement);
|
|
304
348
|
}
|
|
@@ -324,20 +368,24 @@
|
|
|
324
368
|
__decorate$4([
|
|
325
369
|
pacemCore.Watch({ converter: pacemCore.PropertyConverters.Boolean })
|
|
326
370
|
], MapRelevantElement.prototype, "inactive", void 0);
|
|
371
|
+
/** Typed `CustomEvent` dispatched by map-relevant elements/adapters, carrying a {@link MapEventArgs} payload (e.g. a click/drag position). */
|
|
327
372
|
class MapEvent extends pacemCore.CustomTypedEvent {
|
|
328
373
|
constructor(type, args) {
|
|
329
374
|
super(type, args);
|
|
330
375
|
}
|
|
331
376
|
}
|
|
377
|
+
/** `<pacem-map-geocode>`: debounced geocoding/reverse-geocoding helper element that delegates to its {@link adapter}'s {@link MapGeocoder} implementation, exposing `search`/`position` as inputs and `results` as output. */
|
|
332
378
|
let PacemMapGeocodeElement = class PacemMapGeocodeElement extends pacemCore.PacemEventTarget {
|
|
333
379
|
constructor() {
|
|
334
380
|
super(...arguments);
|
|
381
|
+
/** Gets or sets the debounce (in milliseconds) applied before a `search`/`position` change triggers a new request. */
|
|
335
382
|
this.debounce = 1000;
|
|
336
383
|
this.#fetching = false;
|
|
337
384
|
}
|
|
338
385
|
#fetching;
|
|
339
386
|
#handle;
|
|
340
387
|
#promise;
|
|
388
|
+
/** @readonly Gets whether a geocode/reverse-geocode request is currently in flight. */
|
|
341
389
|
get fetching() {
|
|
342
390
|
return this.#fetching;
|
|
343
391
|
}
|
|
@@ -475,9 +523,13 @@
|
|
|
475
523
|
pacemCore.CustomElement({ tagName: MapConstsInternal.GEOCODER_SELECTOR })
|
|
476
524
|
], PacemMapGeocodeElement);
|
|
477
525
|
//#endregion
|
|
526
|
+
/**
|
|
527
|
+
* Abstract base for every map-provider adapter (Azure Maps, Google Maps, Leaflet, ...). Bridges one or more {@link PacemMapElement} instances to a concrete native map implementation, owning the geocoding, and the per-map marker/shape/layer/overlay adapter registries, the viewport (`setView`/`fitBounds`) logic and the `initialize`/`destroy` lifecycle shared by every provider-specific subclass (e.g. `PacemAzureMapAdapterElement`, `PacemGoogleMapAdapterElement`, `PacemLeafletMapAdapterElement`).
|
|
528
|
+
*/
|
|
478
529
|
class PacemMapAdapterElement extends pacemCore.PacemEventTarget {
|
|
479
530
|
constructor() {
|
|
480
531
|
super(...arguments);
|
|
532
|
+
/** Gets or sets whether this adapter is currently active (i.e. properly configured and enabled) for its enrolled maps. */
|
|
481
533
|
this.active = true;
|
|
482
534
|
this.#maps = new Map();
|
|
483
535
|
this.#markers = new WeakMap();
|
|
@@ -783,6 +835,7 @@
|
|
|
783
835
|
__decorate$4([
|
|
784
836
|
pacemCore.Debounce(1000, (key, ctrl) => `pacem:debounce:${key}:${ctrl.id}`)
|
|
785
837
|
], PacemMapAdapterElement.prototype, "_fitBounds", null);
|
|
838
|
+
/** Abstract base for the per-{@link PacemMapElement} adapter objects that translate a specific kind of {@link MapRelevantElement} (marker, shape, layer, overlay) into calls against the native map (`TMap`) exposed by a {@link PacemMapAdapterElement} (`TAdapter`). */
|
|
786
839
|
class MapItemAdapter {
|
|
787
840
|
constructor(_map, _adapter = _map.adapter) {
|
|
788
841
|
this._map = _map;
|
|
@@ -794,6 +847,7 @@
|
|
|
794
847
|
return this._adapter.getMap(item.map);
|
|
795
848
|
}
|
|
796
849
|
}
|
|
850
|
+
/** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native overlays (`TOverlay`) mirroring {@link PacemMapOverlayElement} instances: building, bounding and updating them as the corresponding elements change. */
|
|
797
851
|
class PacemOverlayAdapter extends MapItemAdapter {
|
|
798
852
|
constructor(map, adapter = map.adapter) {
|
|
799
853
|
super(map, adapter);
|
|
@@ -840,11 +894,13 @@
|
|
|
840
894
|
this.updateOverlay(overlay, map, item);
|
|
841
895
|
}
|
|
842
896
|
}
|
|
897
|
+
/** Abstract base for map overlay elements (e.g. {@link PacemMapOverlayImageElement}) positioned within a geographic {@link LatLngBounds}. */
|
|
843
898
|
class PacemMapOverlayElement extends MapRelevantElement {
|
|
844
899
|
}
|
|
845
900
|
__decorate$4([
|
|
846
901
|
pacemCore.Watch({ emit: false, converter: LatLngBoundsConverter })
|
|
847
902
|
], PacemMapOverlayElement.prototype, "bounds", void 0);
|
|
903
|
+
/** `<pacem-map-overlay-image>`: {@link PacemMapOverlayElement} that renders a raster image stretched over its {@link PacemMapOverlayElement.bounds bounds}. */
|
|
848
904
|
let PacemMapOverlayImageElement = class PacemMapOverlayImageElement extends PacemMapOverlayElement {
|
|
849
905
|
};
|
|
850
906
|
__decorate$4([
|
|
@@ -853,6 +909,7 @@
|
|
|
853
909
|
PacemMapOverlayImageElement = __decorate$4([
|
|
854
910
|
pacemCore.CustomElement({ tagName: MapConstsInternal.OVERLAY_IMAGE_SELECTOR })
|
|
855
911
|
], PacemMapOverlayImageElement);
|
|
912
|
+
/** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native tile layers (`TLayer`, WMS/TMS) mirroring {@link PacemMapLayerElement} instances, including their `tileload` event wiring. */
|
|
856
913
|
class PacemLayerAdapter extends MapItemAdapter {
|
|
857
914
|
constructor(map, adapter = map.adapter) {
|
|
858
915
|
super(map, adapter);
|
|
@@ -907,6 +964,7 @@
|
|
|
907
964
|
this.ensureLayer(item, map);
|
|
908
965
|
}
|
|
909
966
|
}
|
|
967
|
+
/** `<pacem-map-layer>`: {@link MapRelevantElement} declaring a raster tile layer (WMS or TMS) to be added to the map. */
|
|
910
968
|
let PacemMapLayerElement = class PacemMapLayerElement extends MapRelevantElement {
|
|
911
969
|
};
|
|
912
970
|
__decorate$4([
|
|
@@ -927,6 +985,7 @@
|
|
|
927
985
|
PacemMapLayerElement = __decorate$4([
|
|
928
986
|
pacemCore.CustomElement({ tagName: MapConstsInternal.LAYER_SELECTOR })
|
|
929
987
|
], PacemMapLayerElement);
|
|
988
|
+
/** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native markers (`TMarker`) and their info windows (`TInfoWindow`) mirroring {@link PacemMapMarkerElement} instances: position/icon/label/draggable sync, click/drag event wiring, and info-window open/close. */
|
|
930
989
|
class PacemMarkerAdapter extends MapItemAdapter {
|
|
931
990
|
constructor(map, adapter = map.adapter) {
|
|
932
991
|
super(map, adapter);
|
|
@@ -1051,6 +1110,7 @@
|
|
|
1051
1110
|
}
|
|
1052
1111
|
}
|
|
1053
1112
|
}
|
|
1113
|
+
/** `<pacem-map-marker>`: {@link MapRelevantElement} representing a draggable, labeled marker with an optional info window, positioned at a {@link LatLng}. */
|
|
1054
1114
|
let PacemMapMarkerElement = class PacemMapMarkerElement extends MapRelevantElement {
|
|
1055
1115
|
onDragEnd(position) {
|
|
1056
1116
|
this.position = position;
|
|
@@ -1082,6 +1142,7 @@
|
|
|
1082
1142
|
PacemMapMarkerElement = __decorate$4([
|
|
1083
1143
|
pacemCore.CustomElement({ tagName: MapConstsInternal.MARKER_SELECTOR })
|
|
1084
1144
|
], PacemMapMarkerElement);
|
|
1145
|
+
/** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native shapes (`TShape`, e.g. polyline/polygon/circle) mirroring {@link PacemMapShapeElement} instances: geometry/style sync, drag/click event wiring, and drag-translation of the underlying element's coordinates. */
|
|
1085
1146
|
class PacemShapeAdapter extends MapItemAdapter {
|
|
1086
1147
|
constructor(map, adapter = map.adapter) {
|
|
1087
1148
|
super(map, adapter);
|
|
@@ -1186,6 +1247,7 @@
|
|
|
1186
1247
|
this.setDraggable(shape, item.draggable);
|
|
1187
1248
|
}
|
|
1188
1249
|
}
|
|
1250
|
+
/** Abstract base for map shape elements ({@link PacemMapPolylineElement}, {@link PacemMapPolygonElement}, {@link PacemMapCircleElement}) sharing draggable/editable state and stroke/fill styling. */
|
|
1189
1251
|
class PacemMapShapeElement extends MapRelevantElement {
|
|
1190
1252
|
}
|
|
1191
1253
|
__decorate$4([
|
|
@@ -1200,6 +1262,7 @@
|
|
|
1200
1262
|
__decorate$4([
|
|
1201
1263
|
pacemCore.Watch({ emit: true, converter: pacemCore.PropertyConverters.Json })
|
|
1202
1264
|
], PacemMapShapeElement.prototype, "fill", void 0);
|
|
1265
|
+
/** `<pacem-map-polyline>`: {@link PacemMapShapeElement} rendering an open polyline through its {@link vertices}. */
|
|
1203
1266
|
let PacemMapPolylineElement = class PacemMapPolylineElement extends PacemMapShapeElement {
|
|
1204
1267
|
};
|
|
1205
1268
|
__decorate$4([
|
|
@@ -1208,6 +1271,7 @@
|
|
|
1208
1271
|
PacemMapPolylineElement = __decorate$4([
|
|
1209
1272
|
pacemCore.CustomElement({ tagName: MapConstsInternal.POLYLINE_SELECTOR })
|
|
1210
1273
|
], PacemMapPolylineElement);
|
|
1274
|
+
/** `<pacem-map-polygon>`: {@link PacemMapShapeElement} rendering a closed, fillable polygon through its {@link vertices}. */
|
|
1211
1275
|
let PacemMapPolygonElement = class PacemMapPolygonElement extends PacemMapShapeElement {
|
|
1212
1276
|
};
|
|
1213
1277
|
__decorate$4([
|
|
@@ -1216,6 +1280,7 @@
|
|
|
1216
1280
|
PacemMapPolygonElement = __decorate$4([
|
|
1217
1281
|
pacemCore.CustomElement({ tagName: MapConstsInternal.POLYGON_SELECTOR })
|
|
1218
1282
|
], PacemMapPolygonElement);
|
|
1283
|
+
/** `<pacem-map-circle>`: {@link PacemMapShapeElement} rendering a circle at {@link center} with the given {@link radius}. */
|
|
1219
1284
|
let PacemMapCircleElement = class PacemMapCircleElement extends PacemMapShapeElement {
|
|
1220
1285
|
};
|
|
1221
1286
|
__decorate$4([
|
|
@@ -1228,25 +1293,39 @@
|
|
|
1228
1293
|
pacemCore.CustomElement({ tagName: MapConstsInternal.CIRCLE_SELECTOR })
|
|
1229
1294
|
], PacemMapCircleElement);
|
|
1230
1295
|
//#endregion
|
|
1296
|
+
/** `<pacem-map>`: root map element hosting an active {@link PacemMapAdapterElement} (Azure Maps/Google Maps/Leaflet), rendering into its `target` (or an auto-generated container), and coordinating the registration/drawing of all descendant {@link MapRelevantElement} items. */
|
|
1231
1297
|
let PacemMapElement = class PacemMapElement extends pacemCore.PacemEventTarget {
|
|
1232
1298
|
constructor() {
|
|
1233
1299
|
super(...arguments);
|
|
1300
|
+
/** Gets or sets the map zoom level. */
|
|
1234
1301
|
this.zoom = 12;
|
|
1302
|
+
/** Gets or sets the map center position. */
|
|
1235
1303
|
this.center = MapConstsInternal.DEFAULT_COORDS;
|
|
1236
1304
|
this.#bounds = LatLngBounds.Empty;
|
|
1305
|
+
/** Gets or sets whether to show the scale/zoom control. */
|
|
1237
1306
|
this.scale = true;
|
|
1307
|
+
/** Gets or sets whether zooming with the mouse wheel is enabled. */
|
|
1238
1308
|
this.mousewheel = true;
|
|
1309
|
+
/** Gets or sets whether the map can be panned by dragging. */
|
|
1239
1310
|
this.draggable = true;
|
|
1311
|
+
/** Gets or sets whether double-click zooming is enabled. */
|
|
1240
1312
|
this.doubleClickZoom = true;
|
|
1313
|
+
/** Gets or sets whether keyboard shortcuts are enabled. */
|
|
1241
1314
|
this.keyboardShortcuts = true;
|
|
1242
1315
|
/** Gets or sets whether to autofit the bounds whenever the map gets refreshed. */
|
|
1243
1316
|
this.autofit = true;
|
|
1317
|
+
/** Gets or sets the top padding (in pixels) considered when fitting bounds. */
|
|
1244
1318
|
this.paddingTop = 0;
|
|
1319
|
+
/** Gets or sets the left padding (in pixels) considered when fitting bounds. */
|
|
1245
1320
|
this.paddingLeft = 0;
|
|
1321
|
+
/** Gets or sets the right padding (in pixels) considered when fitting bounds. */
|
|
1246
1322
|
this.paddingRight = 0;
|
|
1323
|
+
/** Gets or sets the bottom padding (in pixels) considered when fitting bounds. */
|
|
1247
1324
|
this.paddingBottom = 0;
|
|
1248
1325
|
// GMaps features
|
|
1326
|
+
/** Gets or sets the map tilt angle in degrees (Google Maps only). */
|
|
1249
1327
|
this.tilt = 0;
|
|
1328
|
+
/** Gets or sets the map heading/rotation in degrees (Google Maps only). */
|
|
1250
1329
|
this.heading = 0;
|
|
1251
1330
|
this._drawHandler = (evt) => {
|
|
1252
1331
|
this._draw(evt.target);
|
|
@@ -1278,6 +1357,7 @@
|
|
|
1278
1357
|
};
|
|
1279
1358
|
//#endregion
|
|
1280
1359
|
}
|
|
1360
|
+
/** Updates the {@link bounds} property, emitting a `PropertyChangeEvent` when it actually changed. */
|
|
1281
1361
|
updateBounds(bounds) {
|
|
1282
1362
|
if (!LatLngBounds.equals(bounds, this.#bounds)) {
|
|
1283
1363
|
const oldValue = this.#bounds;
|
|
@@ -1286,9 +1366,11 @@
|
|
|
1286
1366
|
}
|
|
1287
1367
|
}
|
|
1288
1368
|
#bounds;
|
|
1369
|
+
/** @readonly Gets the current viewport bounds, as last reported by the active adapter. */
|
|
1289
1370
|
get bounds() {
|
|
1290
1371
|
return this.#bounds;
|
|
1291
1372
|
}
|
|
1373
|
+
/** @readonly Gets the DOM element the native map is currently rendered into. */
|
|
1292
1374
|
get container() {
|
|
1293
1375
|
return this._container;
|
|
1294
1376
|
}
|
|
@@ -1505,11 +1587,15 @@
|
|
|
1505
1587
|
TIMEOUT: 'timeout',
|
|
1506
1588
|
UNKNOWN_ERROR: 'unknown_error',
|
|
1507
1589
|
};
|
|
1590
|
+
/** `<pacem-map-geolocate>`: wraps the browser's Geolocation API, exposing the permission state and resolved {@link position} (with altitude/heading/speed/timestamp), meant to be used together with a `<pacem-map>`/`<pacem-map-marker>` pair. */
|
|
1508
1591
|
let PacemMapGeolocateElement = class PacemMapGeolocateElement extends pacemCore.PacemEventTarget {
|
|
1509
1592
|
constructor() {
|
|
1510
1593
|
super(...arguments);
|
|
1594
|
+
/** Gets or sets the current geolocation permission state (`'granted'`, `'denied'`, or `'prompt'`). */
|
|
1511
1595
|
this.permission = 'prompt';
|
|
1596
|
+
/** Gets or sets the maximum age (in milliseconds) of a cached position that is acceptable to return. */
|
|
1512
1597
|
this.maximumAge = 15000;
|
|
1598
|
+
/** Gets or sets the maximum time (in milliseconds) to wait for a position before failing with a timeout error. */
|
|
1513
1599
|
this.timeout = 30000;
|
|
1514
1600
|
this.#fetching = false;
|
|
1515
1601
|
this._successCallback = (position) => {
|
|
@@ -1543,6 +1629,7 @@
|
|
|
1543
1629
|
});
|
|
1544
1630
|
}
|
|
1545
1631
|
#fetching;
|
|
1632
|
+
/** @readonly Gets whether a geolocation request is currently in progress. */
|
|
1546
1633
|
get fetching() {
|
|
1547
1634
|
return this.#fetching;
|
|
1548
1635
|
}
|
|
@@ -1552,6 +1639,7 @@
|
|
|
1552
1639
|
this.dispatchEvent(new pacemCore.PropertyChangeEvent({ propertyName: 'fetching', currentValue: val, oldValue: !val }));
|
|
1553
1640
|
}
|
|
1554
1641
|
}
|
|
1642
|
+
/** Requests the current position from the browser's Geolocation API, updating {@link position}/{@link permission} and firing `success`/`error` events. */
|
|
1555
1643
|
fetch() {
|
|
1556
1644
|
if (this.disabled) {
|
|
1557
1645
|
return;
|
|
@@ -1932,6 +2020,7 @@
|
|
|
1932
2020
|
return darkTheme ? 'night' : 'road';
|
|
1933
2021
|
}
|
|
1934
2022
|
}
|
|
2023
|
+
/** `<pacem-map-adapter-azure>`: {@link PacemMapAdapterElement} backed by Azure Maps (`atlas`), dynamically loading the Azure Maps SDK/CSS and translating the abstract map/marker/shape/layer/overlay lifecycle onto it. */
|
|
1935
2024
|
let PacemAzureMapAdapterElement = PacemAzureMapAdapterElement_1 = class PacemAzureMapAdapterElement extends PacemMapAdapterElement {
|
|
1936
2025
|
geocode(address, maxResults) {
|
|
1937
2026
|
return new PacemAzureMapGeocoder().geocode(this.subscriptionKey, address, maxResults, pacemCore.Utils.lang(this));
|
|
@@ -2180,6 +2269,7 @@
|
|
|
2180
2269
|
return [convertResponse(response)];
|
|
2181
2270
|
}
|
|
2182
2271
|
}
|
|
2272
|
+
/** Event name dispatched by {@link PacemLeafletMapAdapterElement} whenever a tile layer finishes loading. */
|
|
2183
2273
|
const LayerLoadEventName = "layerload";
|
|
2184
2274
|
class LayerLoadEvent extends pacemCore.CustomTypedEvent {
|
|
2185
2275
|
constructor(layer) {
|
|
@@ -2361,11 +2451,14 @@
|
|
|
2361
2451
|
throw new Error("Method not implemented.");
|
|
2362
2452
|
}
|
|
2363
2453
|
}
|
|
2454
|
+
/** `<pacem-map-adapter-leaflet>`: {@link PacemMapAdapterElement} backed by Leaflet, dynamically loading the Leaflet SDK/CSS and translating the abstract map/marker/layer/overlay lifecycle onto it, geocoding through the OpenStreetMap Nominatim API. */
|
|
2364
2455
|
let PacemLeafletMapAdapterElement = class PacemLeafletMapAdapterElement extends PacemMapAdapterElement {
|
|
2365
2456
|
constructor() {
|
|
2366
2457
|
super(...arguments);
|
|
2367
2458
|
this.#tileLayers = new WeakMap();
|
|
2459
|
+
/** Gets or sets the tile source URL template for the base layer (defaults to the OpenStreetMap tile server). */
|
|
2368
2460
|
this.tiles = '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
|
|
2461
|
+
/** Gets or sets the attribution text/markup shown on the map for the base layer. */
|
|
2369
2462
|
this.attribution = 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors';
|
|
2370
2463
|
this._tileLayerLoadHandler = (evt) => {
|
|
2371
2464
|
this.dispatchLayerLoadEvent(evt.sourceTarget);
|
|
@@ -2497,6 +2590,7 @@
|
|
|
2497
2590
|
map.setView(xpr, ctrl.zoom);
|
|
2498
2591
|
return { map, container: mapElement };
|
|
2499
2592
|
}
|
|
2593
|
+
/** Dispatches the {@link LayerLoadEventName} event carrying the given native Leaflet layer. */
|
|
2500
2594
|
dispatchLayerLoadEvent(layer) {
|
|
2501
2595
|
this.dispatchEvent(new LayerLoadEvent(layer));
|
|
2502
2596
|
}
|
|
@@ -3188,6 +3282,7 @@
|
|
|
3188
3282
|
return { type: google.maps.MapTypeId.ROADMAP, theme };
|
|
3189
3283
|
}
|
|
3190
3284
|
}
|
|
3285
|
+
/** `<pacem-map-adapter-google>`: {@link PacemMapAdapterElement} backed by the Google Maps JavaScript API, bootstrapping/loading the SDK and translating the abstract map/marker/shape/layer/overlay lifecycle onto it. */
|
|
3191
3286
|
let PacemGoogleMapAdapterElement = class PacemGoogleMapAdapterElement extends PacemMapAdapterElement {
|
|
3192
3287
|
geocode(address, maxResults) {
|
|
3193
3288
|
const language = this.language || '', region = this.region || '', version = this.version || 'weekly';
|
|
@@ -3222,6 +3317,7 @@
|
|
|
3222
3317
|
buildLayerAdapterFor(map) {
|
|
3223
3318
|
return new PacemGoogleLayerAdapter(map, this);
|
|
3224
3319
|
}
|
|
3320
|
+
/** Resolves the maximum zoom level available (e.g. for satellite imagery) at the given position. */
|
|
3225
3321
|
getMaxAvailableZoom(latLng) {
|
|
3226
3322
|
return new Promise((resolve, reject) => {
|
|
3227
3323
|
const svc = new google.maps.MaxZoomService();
|