@panoramax/web-viewer 3.1.0-develop-4eca0e56 → 3.1.0-develop-6b1b342b

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/docs/02_Usage.md CHANGED
@@ -7,9 +7,10 @@
7
7
  * [Photo][3]
8
8
  * [Editor][4]
9
9
  * [StandaloneMap][5]
10
- * [getCookie][6]
11
- * [getUserAccount][7]
12
- * [Viewer][8]
10
+ * [autoDetectLocale][6]
11
+ * [getCookie][7]
12
+ * [getUserAccount][8]
13
+ * [Viewer][9]
13
14
 
14
15
  ## CoreView
15
16
 
@@ -21,25 +22,25 @@ It is used to prepare API, internationalization, options checks... for Viewer, S
21
22
 
22
23
  ### Parameters
23
24
 
24
- * `container` **([string][9] | [Element][10])** The DOM element to create viewer into
25
- * `endpoint` **[string][9]** URL to API to use (must be a [STAC API][11])
26
- * `options` **[object][12]?** View options. (optional, default `{}`)
25
+ * `container` **([string][10] | [Element][11])** The DOM element to create viewer into
26
+ * `endpoint` **[string][10]** URL to API to use (must be a [STAC API][12])
27
+ * `options` **[object][13]?** View options. (optional, default `{}`)
27
28
 
28
- * `options.selectedSequence` **[string][9]?** The ID of sequence to highlight on load (defaults to none)
29
- * `options.selectedPicture` **[string][9]?** The ID of picture to highlight on load (defaults to none)
30
- * `options.fetchOptions` **[object][12]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][13]) (optional, default `null`)
31
- * `options.users` **([string][9] | [Array][14]<[string][9]>)?** List of user IDs to default use for display. Defaults to all users.
32
- * `options.style` **([string][9] | [object][12])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][15], or a URL string pointing to one. Defaults to OSMFR vector tiles.
29
+ * `options.selectedSequence` **[string][10]?** The ID of sequence to highlight on load (defaults to none)
30
+ * `options.selectedPicture` **[string][10]?** The ID of picture to highlight on load (defaults to none)
31
+ * `options.fetchOptions` **[object][13]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][14]) (optional, default `null`)
32
+ * `options.users` **([string][10] | [Array][15]<[string][10]>)?** List of user IDs to default use for display. Defaults to all users.
33
+ * `options.style` **([string][10] | [object][13])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][16], or a URL string pointing to one. Defaults to OSMFR vector tiles.
33
34
 
34
35
  ### Properties
35
36
 
36
- * `_t` **[object][12]** The translations labels
37
- * `_selectedSeqId` **[string][9]** The selected sequence ID
38
- * `_selectedPicId` **[string][9]** The selected picture ID
37
+ * `_t` **[object][13]** The translations labels
38
+ * `_selectedSeqId` **[string][10]** The selected sequence ID
39
+ * `_selectedPicId` **[string][10]** The selected picture ID
39
40
  * `_api` **API** The API handler
40
41
  * `_loader` **Loader** The initial loader message
41
- * `_options` **[object][12]** The stored options
42
- * `container` **[Element][10]** The DOM container
42
+ * `_options` **[object][13]** The stored options
43
+ * `container` **[Element][11]** The DOM container
43
44
 
44
45
  ### getClassName
45
46
 
@@ -58,13 +59,13 @@ This is useful for Single Page Applications (SPA), to remove various event liste
58
59
 
59
60
  Is the view running in a small container (small embed or smartphone)
60
61
 
61
- Returns **[boolean][16]** True if container is small
62
+ Returns **[boolean][17]** True if container is small
62
63
 
63
64
  ### isHeightSmall
64
65
 
65
66
  Is the view running in a small-height container (small embed or smartphone)
66
67
 
67
- Returns **[boolean][16]** True if container height is small
68
+ Returns **[boolean][17]** True if container height is small
68
69
 
69
70
  ### select
70
71
 
@@ -73,24 +74,24 @@ Calling the method without parameters unselects.
73
74
 
74
75
  #### Parameters
75
76
 
76
- * `seqId` **[string][9]?** The sequence UUID (optional, default `null`)
77
- * `picId` **[string][9]?** The picture UUID (optional, default `null`)
78
- * `force` **[boolean][16]** Force select even if already selected (optional, default `false`)
77
+ * `seqId` **[string][10]?** The sequence UUID (optional, default `null`)
78
+ * `picId` **[string][10]?** The picture UUID (optional, default `null`)
79
+ * `force` **[boolean][17]** Force select even if already selected (optional, default `false`)
79
80
 
80
81
  ### select
81
82
 
82
83
  Event for sequence/picture selection
83
84
 
84
- Type: [object][12]
85
+ Type: [object][13]
85
86
 
86
87
  #### Properties
87
88
 
88
- * `detail` **[object][12]** Event information
89
+ * `detail` **[object][13]** Event information
89
90
 
90
- * `detail.seqId` **[string][9]** The selected sequence ID
91
- * `detail.picId` **[string][9]** The selected picture ID (or null if not a precise picture clicked)
92
- * `detail.prevSeqId` **[string][9]?** The previously selected sequence ID (or null if none)
93
- * `detail.prevPicId` **[string][9]?** The previously selected picture ID (or null if none)
91
+ * `detail.seqId` **[string][10]** The selected sequence ID
92
+ * `detail.picId` **[string][10]** The selected picture ID (or null if not a precise picture clicked)
93
+ * `detail.prevSeqId` **[string][10]?** The previously selected sequence ID (or null if none)
94
+ * `detail.prevPicId` **[string][10]?** The previously selected picture ID (or null if none)
94
95
 
95
96
  ### ready
96
97
 
@@ -100,174 +101,174 @@ Event for viewer being ready to use (API loaded)
100
101
 
101
102
  Event for viewer failing to initially load
102
103
 
103
- Type: [object][12]
104
+ Type: [object][13]
104
105
 
105
106
  #### Properties
106
107
 
107
- * `detail` **[object][12]** Event information
108
+ * `detail` **[object][13]** Event information
108
109
 
109
- * `detail.error` **[string][9]** The user-friendly error message to display
110
+ * `detail.error` **[string][10]** The user-friendly error message to display
110
111
 
111
112
  ### map:background-changed
112
113
 
113
114
  Event for map background changes
114
115
 
115
- Type: [object][12]
116
+ Type: [object][13]
116
117
 
117
118
  #### Properties
118
119
 
119
- * `detail` **[object][12]** Event information
120
+ * `detail` **[object][13]** Event information
120
121
 
121
- * `detail.background` **[string][9]?** The new selected background (aerial, streets)
122
+ * `detail.background` **[string][10]?** The new selected background (aerial, streets)
122
123
 
123
124
  ### map:users-changed
124
125
 
125
126
  Event for visible users changes
126
127
 
127
- Type: [object][12]
128
+ Type: [object][13]
128
129
 
129
130
  #### Properties
130
131
 
131
- * `detail` **[object][12]** Event information
132
+ * `detail` **[object][13]** Event information
132
133
 
133
- * `detail.usersIds` **[Array][14]<[string][9]>?** The list of newly selected users
134
+ * `detail.usersIds` **[Array][15]<[string][10]>?** The list of newly selected users
134
135
 
135
136
  ### map:sequence-hover
136
137
 
137
138
  Event when a sequence on map is hovered (not selected)
138
139
 
139
- Type: [object][12]
140
+ Type: [object][13]
140
141
 
141
142
  #### Properties
142
143
 
143
- * `detail` **[object][12]** Event information
144
+ * `detail` **[object][13]** Event information
144
145
 
145
- * `detail.seqId` **[string][9]** The hovered sequence ID
146
+ * `detail.seqId` **[string][10]** The hovered sequence ID
146
147
 
147
148
  ### map:sequence-click
148
149
 
149
150
  Event when a sequence on map is clicked
150
151
 
151
- Type: [object][12]
152
+ Type: [object][13]
152
153
 
153
154
  #### Properties
154
155
 
155
- * `detail` **[object][12]** Event information
156
+ * `detail` **[object][13]** Event information
156
157
 
157
- * `detail.seqId` **[string][9]** The clicked sequence ID
158
+ * `detail.seqId` **[string][10]** The clicked sequence ID
158
159
  * `detail.coordinates` **maplibregl.LngLat** The coordinates of user click
159
160
 
160
161
  ### map:picture-click
161
162
 
162
163
  Event when a picture on map is clicked
163
164
 
164
- Type: [object][12]
165
+ Type: [object][13]
165
166
 
166
167
  #### Properties
167
168
 
168
- * `detail` **[object][12]** Event information
169
+ * `detail` **[object][13]** Event information
169
170
 
170
- * `detail.picId` **[string][9]** The clicked picture ID
171
- * `detail.seqId` **[string][9]** The clicked picture's sequence ID
172
- * `detail.feature` **[object][12]** The GeoJSON feature of the picture
171
+ * `detail.picId` **[string][10]** The clicked picture ID
172
+ * `detail.seqId` **[string][10]** The clicked picture's sequence ID
173
+ * `detail.feature` **[object][13]** The GeoJSON feature of the picture
173
174
 
174
175
  ### psv:picture-loading
175
176
 
176
177
  Event for picture starting to load
177
178
 
178
- Type: [object][12]
179
+ Type: [object][13]
179
180
 
180
181
  #### Properties
181
182
 
182
- * `detail` **[object][12]** Event information
183
+ * `detail` **[object][13]** Event information
183
184
 
184
- * `detail.picId` **[string][9]** The picture unique identifier
185
- * `detail.lon` **[number][17]** Longitude (WGS84)
186
- * `detail.lat` **[number][17]** Latitude (WGS84)
187
- * `detail.x` **[number][17]** New x position (in degrees, 0-360), corresponds to heading (0° = North, 90° = East, 180° = South, 270° = West)
188
- * `detail.y` **[number][17]** New y position (in degrees)
189
- * `detail.z` **[number][17]** New z position (0-100)
185
+ * `detail.picId` **[string][10]** The picture unique identifier
186
+ * `detail.lon` **[number][18]** Longitude (WGS84)
187
+ * `detail.lat` **[number][18]** Latitude (WGS84)
188
+ * `detail.x` **[number][18]** New x position (in degrees, 0-360), corresponds to heading (0° = North, 90° = East, 180° = South, 270° = West)
189
+ * `detail.y` **[number][18]** New y position (in degrees)
190
+ * `detail.z` **[number][18]** New z position (0-100)
190
191
 
191
192
  ### psv:picture-preview-started
192
193
 
193
194
  Event for picture preview
194
195
 
195
- Type: [object][12]
196
+ Type: [object][13]
196
197
 
197
198
  #### Properties
198
199
 
199
- * `detail` **[object][12]** Event information
200
+ * `detail` **[object][13]** Event information
200
201
 
201
- * `detail.picId` **[string][9]** The picture ID
202
- * `detail.coordinates` **[Array][14]<[number][17]>** \[x,y] coordinates
203
- * `detail.direction` **[number][17]** The theorical picture orientation
202
+ * `detail.picId` **[string][10]** The picture ID
203
+ * `detail.coordinates` **[Array][15]<[number][18]>** \[x,y] coordinates
204
+ * `detail.direction` **[number][18]** The theorical picture orientation
204
205
 
205
206
  ### psv:picture-preview-stopped
206
207
 
207
208
  Event for end of picture preview
208
209
 
209
- Type: [object][12]
210
+ Type: [object][13]
210
211
 
211
212
  #### Properties
212
213
 
213
- * `detail` **[object][12]** Event information
214
+ * `detail` **[object][13]** Event information
214
215
 
215
- * `detail.picId` **[string][9]** The picture ID
216
+ * `detail.picId` **[string][10]** The picture ID
216
217
 
217
218
  ### psv:view-rotated
218
219
 
219
220
  Event for viewer rotation
220
221
 
221
- Type: [object][12]
222
+ Type: [object][13]
222
223
 
223
224
  #### Properties
224
225
 
225
- * `detail` **[object][12]** Event information
226
+ * `detail` **[object][13]** Event information
226
227
 
227
- * `detail.x` **[number][17]** New x position (in degrees, 0-360), corresponds to heading (0° = North, 90° = East, 180° = South, 270° = West)
228
- * `detail.y` **[number][17]** New y position (in degrees)
229
- * `detail.z` **[number][17]** New Z position (between 0 and 100)
228
+ * `detail.x` **[number][18]** New x position (in degrees, 0-360), corresponds to heading (0° = North, 90° = East, 180° = South, 270° = West)
229
+ * `detail.y` **[number][18]** New y position (in degrees)
230
+ * `detail.z` **[number][18]** New Z position (between 0 and 100)
230
231
 
231
232
  ### psv:picture-loaded
232
233
 
233
234
  Event for picture load (low-resolution image is loaded)
234
235
 
235
- Type: [object][12]
236
+ Type: [object][13]
236
237
 
237
238
  #### Properties
238
239
 
239
- * `detail` **[object][12]** Event information
240
+ * `detail` **[object][13]** Event information
240
241
 
241
- * `detail.picId` **[string][9]** The picture unique identifier
242
- * `detail.lon` **[number][17]** Longitude (WGS84)
243
- * `detail.lat` **[number][17]** Latitude (WGS84)
244
- * `detail.x` **[number][17]** New x position (in degrees, 0-360), corresponds to heading (0° = North, 90° = East, 180° = South, 270° = West)
245
- * `detail.y` **[number][17]** New y position (in degrees)
246
- * `detail.z` **[number][17]** New z position (0-100)
242
+ * `detail.picId` **[string][10]** The picture unique identifier
243
+ * `detail.lon` **[number][18]** Longitude (WGS84)
244
+ * `detail.lat` **[number][18]** Latitude (WGS84)
245
+ * `detail.x` **[number][18]** New x position (in degrees, 0-360), corresponds to heading (0° = North, 90° = East, 180° = South, 270° = West)
246
+ * `detail.y` **[number][18]** New y position (in degrees)
247
+ * `detail.z` **[number][18]** New z position (0-100)
247
248
 
248
249
  ### psv:picture-tiles-loaded
249
250
 
250
251
  Event launched when all visible tiles of a picture are loaded
251
252
 
252
- Type: [object][12]
253
+ Type: [object][13]
253
254
 
254
255
  #### Properties
255
256
 
256
- * `detail` **[object][12]** Event information
257
+ * `detail` **[object][13]** Event information
257
258
 
258
- * `detail.picId` **[string][9]** The picture unique identifier
259
+ * `detail.picId` **[string][10]** The picture unique identifier
259
260
 
260
261
  ### psv:transition-duration-changed
261
262
 
262
263
  Event for transition duration change
263
264
 
264
- Type: [object][12]
265
+ Type: [object][13]
265
266
 
266
267
  #### Properties
267
268
 
268
- * `detail` **[object][12]** Event information
269
+ * `detail` **[object][13]** Event information
269
270
 
270
- * `detail.duration` **[string][9]** New duration (in milliseconds)
271
+ * `detail.duration` **[string][10]** New duration (in milliseconds)
271
272
 
272
273
  ## Map
273
274
 
@@ -275,19 +276,19 @@ Type: [object][12]
275
276
 
276
277
  Map is the component showing pictures and sequences geolocation.
277
278
 
278
- Note that all functions of [MapLibre GL JS class Map][18] are also available.
279
+ Note that all functions of [MapLibre GL JS class Map][19] are also available.
279
280
 
280
281
  ### Parameters
281
282
 
282
283
  * `parent` **[CoreView][1]** The parent view
283
- * `container` **[Element][10]** The DOM element to create into
284
- * `options` **[object][12]?** The map options (any of [MapLibre GL settings][19] or any supplementary option defined here) (optional, default `{}`)
284
+ * `container` **[Element][11]** The DOM element to create into
285
+ * `options` **[object][13]?** The map options (any of [MapLibre GL settings][20] or any supplementary option defined here) (optional, default `{}`)
285
286
 
286
- * `options.raster` **[object][12]?** The MapLibre raster source for aerial background. This must be a JSON object following [MapLibre raster source definition][20].
287
- * `options.background` **[string][9]?** Choose default map background to display (streets or aerial, if raster aerial background available). Defaults to street.
288
- * `options.geocoder` **[object][12]?** Optional geocoder settings
287
+ * `options.raster` **[object][13]?** The MapLibre raster source for aerial background. This must be a JSON object following [MapLibre raster source definition][21].
288
+ * `options.background` **[string][10]?** Choose default map background to display (streets or aerial, if raster aerial background available). Defaults to street.
289
+ * `options.geocoder` **[object][13]?** Optional geocoder settings
289
290
 
290
- * `options.geocoder.engine` **[string][9]?** Set the geocoder engine to use (nominatim, ban)
291
+ * `options.geocoder.engine` **[string][10]?** Set the geocoder engine to use (nominatim, ban)
291
292
 
292
293
  ### destroy
293
294
 
@@ -301,13 +302,13 @@ Force refresh of vector tiles data
301
302
 
302
303
  Check if map offers aerial imagery as well as streets rendering.
303
304
 
304
- Returns **[boolean][16]** True if aerial imagery is available for display
305
+ Returns **[boolean][17]** True if aerial imagery is available for display
305
306
 
306
307
  ### getBackground
307
308
 
308
309
  Get the currently selected map background
309
310
 
310
- Returns **[string][9]** aerial or streets
311
+ Returns **[string][10]** aerial or streets
311
312
 
312
313
  ### setBackground
313
314
 
@@ -315,13 +316,13 @@ Change the shown background in map.
315
316
 
316
317
  #### Parameters
317
318
 
318
- * `bg` **[string][9]** The new background to display (aerial or streets)
319
+ * `bg` **[string][10]** The new background to display (aerial or streets)
319
320
 
320
321
  ### getVisibleUsers
321
322
 
322
323
  Get the currently visible users
323
324
 
324
- Returns **[Array][14]<[string][9]>** List of visible users
325
+ Returns **[Array][15]<[string][10]>** List of visible users
325
326
 
326
327
  ### setVisibleUsers
327
328
 
@@ -329,7 +330,7 @@ Make given user layers visible on map, and hide all others (if any)
329
330
 
330
331
  #### Parameters
331
332
 
332
- * `visibleIds` **([string][9] | [Array][14]<[string][9]>)** The user layers IDs to display (optional, default `[]`)
333
+ * `visibleIds` **([string][10] | [Array][15]<[string][10]>)** The user layers IDs to display (optional, default `[]`)
333
334
 
334
335
  ### filterUserLayersContent
335
336
 
@@ -337,8 +338,8 @@ Filter the visible data content in all visible map layers
337
338
 
338
339
  #### Parameters
339
340
 
340
- * `dataType` **[string][9]** sequences or pictures
341
- * `filter` **[object][12]** The MapLibre GL filter rule to apply
341
+ * `dataType` **[string][10]** sequences or pictures
342
+ * `filter` **[object][13]** The MapLibre GL filter rule to apply
342
343
 
343
344
  ### displayPictureMarker
344
345
 
@@ -346,9 +347,9 @@ Shows on map a picture position and heading.
346
347
 
347
348
  #### Parameters
348
349
 
349
- * `lon` **[number][17]** The longitude
350
- * `lat` **[number][17]** The latitude
351
- * `heading` **[number][17]** The heading
350
+ * `lon` **[number][18]** The longitude
351
+ * `lat` **[number][18]** The latitude
352
+ * `heading` **[number][18]** The heading
352
353
 
353
354
  ### reloadLayersStyles
354
355
 
@@ -362,22 +363,22 @@ This is useful after a map theme change.
362
363
  Photo is the component showing a single picture.
363
364
  It uses Photo Sphere Viewer as a basis, and pre-configure dialog with STAC API.
364
365
 
365
- Note that all functions of [PhotoSphereViewer Viewer class][21] are available as well.
366
+ Note that all functions of [PhotoSphereViewer Viewer class][22] are available as well.
366
367
 
367
368
  ### Parameters
368
369
 
369
370
  * `parent` **[CoreView][1]** The parent view
370
- * `container` **[Element][10]** The DOM element to create into
371
- * `options` **[object][12]?** The viewer options. Can be any of [Photo Sphere Viewer options][22] (optional, default `{}`)
371
+ * `container` **[Element][11]** The DOM element to create into
372
+ * `options` **[object][13]?** The viewer options. Can be any of [Photo Sphere Viewer options][23] (optional, default `{}`)
372
373
 
373
- * `options.transitionDuration` **[number][17]?** The number of milliseconds the transition animation should be.
374
- * `options.shouldGoFast` **[function][23]?** Function returning a boolean to indicate if we may skip loading HD images.
374
+ * `options.transitionDuration` **[number][18]?** The number of milliseconds the transition animation should be.
375
+ * `options.shouldGoFast` **[function][24]?** Function returning a boolean to indicate if we may skip loading HD images.
375
376
 
376
377
  ### getPictureMetadata
377
378
 
378
379
  Access currently shown picture metadata
379
380
 
380
- Returns **[object][12]** Picture metadata
381
+ Returns **[object][13]** Picture metadata
381
382
 
382
383
  ### goToNextPicture
383
384
 
@@ -393,22 +394,22 @@ Displays in viewer a picture near to given coordinates
393
394
 
394
395
  #### Parameters
395
396
 
396
- * `lat` **[number][17]** Latitude (WGS84)
397
- * `lon` **[number][17]** Longitude (WGS84)
397
+ * `lat` **[number][18]** Latitude (WGS84)
398
+ * `lon` **[number][18]** Longitude (WGS84)
398
399
 
399
- Returns **[Promise][24]** Resolves on picture ID if picture found, otherwise rejects
400
+ Returns **[Promise][25]** Resolves on picture ID if picture found, otherwise rejects
400
401
 
401
402
  ### getXY
402
403
 
403
404
  Get 2D position of sphere currently shown to user
404
405
 
405
- Returns **[object][12]** Position in format { x: heading in degrees (0° = North, 90° = East, 180° = South, 270° = West), y: top/bottom position in degrees (-90° = bottom, 0° = front, 90° = top) }
406
+ Returns **[object][13]** Position in format { x: heading in degrees (0° = North, 90° = East, 180° = South, 270° = West), y: top/bottom position in degrees (-90° = bottom, 0° = front, 90° = top) }
406
407
 
407
408
  ### getXYZ
408
409
 
409
410
  Get 3D position of sphere currently shown to user
410
411
 
411
- Returns **[object][12]** Position in format { x: heading in degrees (0° = North, 90° = East, 180° = South, 270° = West), y: top/bottom position in degrees (-90° = bottom, 0° = front, 90° = top), z: zoom (0 = wide, 100 = zoomed in) }
412
+ Returns **[object][13]** Position in format { x: heading in degrees (0° = North, 90° = East, 180° = South, 270° = West), y: top/bottom position in degrees (-90° = bottom, 0° = front, 90° = top), z: zoom (0 = wide, 100 = zoomed in) }
412
413
 
413
414
  ### getPictureOriginalHeading
414
415
 
@@ -434,9 +435,9 @@ Change the shown position in picture
434
435
 
435
436
  #### Parameters
436
437
 
437
- * `x` **[number][17]** X position (in degrees)
438
- * `y` **[number][17]** Y position (in degrees)
439
- * `z` **[number][17]** Z position (0-100)
438
+ * `x` **[number][18]** X position (in degrees)
439
+ * `y` **[number][18]** Y position (in degrees)
440
+ * `z` **[number][18]** Z position (0-100)
440
441
 
441
442
  ### setHigherContrast
442
443
 
@@ -444,13 +445,13 @@ Enable or disable higher contrast on picture
444
445
 
445
446
  #### Parameters
446
447
 
447
- * `enable` **[boolean][16]** True to enable higher contrast
448
+ * `enable` **[boolean][17]** True to enable higher contrast
448
449
 
449
450
  ### getTransitionDuration
450
451
 
451
452
  Get the duration of stay on a picture during a sequence play.
452
453
 
453
- Returns **[number][17]** The duration (in milliseconds)
454
+ Returns **[number][18]** The duration (in milliseconds)
454
455
 
455
456
  ### setTransitionDuration
456
457
 
@@ -458,7 +459,7 @@ Changes the duration of stay on a picture during a sequence play.
458
459
 
459
460
  #### Parameters
460
461
 
461
- * `value` **[number][17]** The new duration (in milliseconds, between 100 and 3000)
462
+ * `value` **[number][18]** The new duration (in milliseconds, between 100 and 3000)
462
463
 
463
464
  ### showErrorOverlay
464
465
 
@@ -466,9 +467,9 @@ Display an error message to user on screen
466
467
 
467
468
  #### Parameters
468
469
 
469
- * `e` **[object][12]** The initial error
470
+ * `e` **[object][13]** The initial error
470
471
  * `label` **str** The main error label to display
471
- * `dissmisable` **[boolean][16]** Is error dissmisable
472
+ * `dissmisable` **[boolean][17]** Is error dissmisable
472
473
 
473
474
  ## Editor
474
475
 
@@ -477,20 +478,20 @@ Display an error message to user on screen
477
478
  Editor allows to focus on a single sequence, and preview what you edits would look like.
478
479
  It shows both picture and map.
479
480
 
480
- Note that you can use any of the [CoreView][25] class functions as well.
481
+ Note that you can use any of the [CoreView][26] class functions as well.
481
482
 
482
483
  ### Parameters
483
484
 
484
- * `container` **([string][9] | [Element][10])** The DOM element to create viewer into
485
- * `endpoint` **[string][9]** URL to API to use (must be a [STAC API][11])
486
- * `options` **[object][12]?** View options. (optional, default `{}`)
485
+ * `container` **([string][10] | [Element][11])** The DOM element to create viewer into
486
+ * `endpoint` **[string][10]** URL to API to use (must be a [STAC API][12])
487
+ * `options` **[object][13]?** View options. (optional, default `{}`)
487
488
 
488
- * `options.selectedSequence` **[string][9]** The ID of sequence to highlight on load. Must be always defined.
489
- * `options.selectedPicture` **[string][9]?** The ID of picture to highlight on load (defaults to none)
490
- * `options.fetchOptions` **[object][12]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][13]) (optional, default `null`)
491
- * `options.raster` **[object][12]?** The MapLibre raster source for aerial background. This must be a JSON object following [MapLibre raster source definition][20].
492
- * `options.background` **[string][9]?** Choose default map background to display (streets or aerial, if raster aerial background available). Defaults to street.
493
- * `options.style` **([string][9] | [object][12])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][15], or a URL string pointing to one.
489
+ * `options.selectedSequence` **[string][10]** The ID of sequence to highlight on load. Must be always defined.
490
+ * `options.selectedPicture` **[string][10]?** The ID of picture to highlight on load (defaults to none)
491
+ * `options.fetchOptions` **[object][13]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][14]) (optional, default `null`)
492
+ * `options.raster` **[object][13]?** The MapLibre raster source for aerial background. This must be a JSON object following [MapLibre raster source definition][21].
493
+ * `options.background` **[string][10]?** Choose default map background to display (streets or aerial, if raster aerial background available). Defaults to street.
494
+ * `options.style` **([string][10] | [object][13])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][16], or a URL string pointing to one.
494
495
 
495
496
  ### Properties
496
497
 
@@ -504,7 +505,7 @@ This doesn't change anything on API-side, it's just a preview.
504
505
 
505
506
  #### Parameters
506
507
 
507
- * `relHeading` **[number][17]?** The new relative heading compared to sequence path. In degrees, between -180 and 180 (0 = front, -90 = left, 90 = right). Set to null to remove preview.
508
+ * `relHeading` **[number][18]?** The new relative heading compared to sequence path. In degrees, between -180 and 180 (0 = front, -90 = left, 90 = right). Set to null to remove preview.
508
509
 
509
510
  ## StandaloneMap
510
511
 
@@ -513,24 +514,24 @@ This doesn't change anything on API-side, it's just a preview.
513
514
  The standalone map viewer allows to see STAC pictures data as a map.
514
515
  It only embeds a map (no 360° pictures viewer) with a minimal picture preview (thumbnail).
515
516
 
516
- Note that you can use any of the [CoreView][25] class functions as well.
517
+ Note that you can use any of the [CoreView][26] class functions as well.
517
518
 
518
519
  ### Parameters
519
520
 
520
- * `container` **([string][9] | [Element][10])** The DOM element to create viewer into
521
- * `endpoint` **[string][9]** URL to API to use (must be a [STAC API][11])
522
- * `options` **[object][12]?** Map options. Various settings can be passed, either the ones defined here, or any of [MapLibre GL settings][19]. (optional, default `{}`)
521
+ * `container` **([string][10] | [Element][11])** The DOM element to create viewer into
522
+ * `endpoint` **[string][10]** URL to API to use (must be a [STAC API][12])
523
+ * `options` **[object][13]?** Map options. Various settings can be passed, either the ones defined here, or any of [MapLibre GL settings][20]. (optional, default `{}`)
523
524
 
524
- * `options.selectedSequence` **[string][9]?** The ID of sequence to highlight on load (defaults to none)
525
- * `options.selectedPicture` **[string][9]?** The ID of picture to highlight on load (defaults to none)
526
- * `options.fetchOptions` **[object][12]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][13]) (optional, default `null`)
527
- * `options.minZoom` **[number][17]** The minimum zoom level of the map (0-24). (optional, default `0`)
528
- * `options.maxZoom` **[number][17]** The maximum zoom level of the map (0-24). (optional, default `24`)
529
- * `options.style` **([string][9] | [object][12])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][15], or a URL string pointing to one.
525
+ * `options.selectedSequence` **[string][10]?** The ID of sequence to highlight on load (defaults to none)
526
+ * `options.selectedPicture` **[string][10]?** The ID of picture to highlight on load (defaults to none)
527
+ * `options.fetchOptions` **[object][13]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][14]) (optional, default `null`)
528
+ * `options.minZoom` **[number][18]** The minimum zoom level of the map (0-24). (optional, default `0`)
529
+ * `options.maxZoom` **[number][18]** The maximum zoom level of the map (0-24). (optional, default `24`)
530
+ * `options.style` **([string][10] | [object][13])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][16], or a URL string pointing to one.
530
531
  * `options.center` **external:maplibre-gl.LngLatLike** The initial geographical centerpoint of the map. If `center` is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to `[0, 0]` Note: MapLibre GL uses longitude, latitude coordinate order (as opposed to latitude, longitude) to match GeoJSON. (optional, default `[0,0]`)
531
- * `options.zoom` **[number][17]** The initial zoom level of the map. If `zoom` is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to `0`. (optional, default `0`)
532
+ * `options.zoom` **[number][18]** The initial zoom level of the map. If `zoom` is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to `0`. (optional, default `0`)
532
533
  * `options.bounds` **external:maplibre-gl.LngLatBoundsLike?** The initial bounds of the map. If `bounds` is specified, it overrides `center` and `zoom` constructor options.
533
- * `options.users` **[Array][14]<[string][9]>?** The IDs of users whom data should appear on map (defaults to all)
534
+ * `options.users` **[Array][15]<[string][10]>?** The IDs of users whom data should appear on map (defaults to all)
534
535
 
535
536
  ### Properties
536
537
 
@@ -542,6 +543,17 @@ Ends all form of life in this object.
542
543
 
543
544
  This is useful for Single Page Applications (SPA), to remove various event listeners.
544
545
 
546
+ ## autoDetectLocale
547
+
548
+ Find best matching language regarding of list of supported languages and browser accepted languages
549
+
550
+ ### Parameters
551
+
552
+ * `supportedTranslations` **[Array][15]\<str>** List of supported languages
553
+ * `fallback` **str** The fallback language
554
+
555
+ Returns **any** The best matching language
556
+
545
557
  ## getCookie
546
558
 
547
559
  Get a cookie value
@@ -556,7 +568,7 @@ Returns **str** The cookie value, or null if not found
556
568
 
557
569
  Checks if an user account exists
558
570
 
559
- Returns **[object][12]** Object like {"id", "name"} or null if no authenticated account
571
+ Returns **[object][13]** Object like {"id", "name"} or null if no authenticated account
560
572
 
561
573
  ## Viewer
562
574
 
@@ -564,43 +576,43 @@ Returns **[object][12]** Object like {"id", "name"} or null if no authenticated
564
576
 
565
577
  Viewer is the main component of Panoramax JS library, showing pictures and map.
566
578
 
567
- Note that you can use any of the [CoreView][25] class functions as well.
579
+ Note that you can use any of the [CoreView][26] class functions as well.
568
580
 
569
581
  ### Parameters
570
582
 
571
- * `container` **([string][9] | [Element][10])** The DOM element to create viewer into
572
- * `endpoint` **[string][9]** URL to API to use (must be a [STAC API][11])
573
- * `options` **[object][12]?** Viewer options (optional, default `{}`)
583
+ * `container` **([string][10] | [Element][11])** The DOM element to create viewer into
584
+ * `endpoint` **[string][10]** URL to API to use (must be a [STAC API][12])
585
+ * `options` **[object][13]?** Viewer options (optional, default `{}`)
574
586
 
575
- * `options.selectedPicture` **[string][9]?** Initial picture identifier to display
576
- * `options.position` **[Array][14]<[number][17]>?** Initial position to go to (in \[lat, lon] format)
577
- * `options.hash` **[boolean][16]** Enable URL hash settings (optional, default `true`)
578
- * `options.lang` **[string][9]?** Override language to use (defaults to navigator language, or English if translation not available)
587
+ * `options.selectedPicture` **[string][10]?** Initial picture identifier to display
588
+ * `options.position` **[Array][15]<[number][18]>?** Initial position to go to (in \[lat, lon] format)
589
+ * `options.hash` **[boolean][17]** Enable URL hash settings (optional, default `true`)
590
+ * `options.lang` **[string][10]?** Override language to use (defaults to navigator language, or English if translation not available)
579
591
  * `options.transition` **int** Duration of stay on a picture during sequence play (excludes loading time) (optional, default `250`)
580
- * `options.fetchOptions` **[object][12]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][13]) (optional, default `null`)
581
- * `options.users` **([string][9] | [Array][14]<[string][9]>)?** The IDs of users whom data should appear on map (defaults to all). Only works with API having a "user-xyz" or "user-xyz-style" endpoint.
582
- * `options.picturesNavigation` **[string][9]?** The allowed navigation between pictures ("any": no restriction (default), "seq": only pictures in same sequence, "pic": only selected picture)
583
- * `options.map` **([boolean][16] | [object][12])** Enable contextual map for locating pictures. Setting to true or passing an object enables the map. Various settings can be passed, either the ones defined here, or any of [MapLibre GL settings][19] (optional, default `false`)
584
-
585
- * `options.map.startWide` **[boolean][16]?** Show the map as main element at startup (defaults to false, viewer is wider at start)
586
- * `options.map.minZoom` **[number][17]** The minimum zoom level of the map (0-24). (optional, default `0`)
587
- * `options.map.maxZoom` **[number][17]** The maximum zoom level of the map (0-24). (optional, default `24`)
588
- * `options.map.raster` **[object][12]?** The MapLibre raster source for aerial background. This must be a JSON object following [MapLibre raster source definition][20].
592
+ * `options.fetchOptions` **[object][13]** Set custom options for fetch calls made against API ([same syntax as fetch options parameter][14]) (optional, default `null`)
593
+ * `options.users` **([string][10] | [Array][15]<[string][10]>)?** The IDs of users whom data should appear on map (defaults to all). Only works with API having a "user-xyz" or "user-xyz-style" endpoint.
594
+ * `options.picturesNavigation` **[string][10]?** The allowed navigation between pictures ("any": no restriction (default), "seq": only pictures in same sequence, "pic": only selected picture)
595
+ * `options.map` **([boolean][17] | [object][13])** Enable contextual map for locating pictures. Setting to true or passing an object enables the map. Various settings can be passed, either the ones defined here, or any of [MapLibre GL settings][20] (optional, default `false`)
596
+
597
+ * `options.map.startWide` **[boolean][17]?** Show the map as main element at startup (defaults to false, viewer is wider at start)
598
+ * `options.map.minZoom` **[number][18]** The minimum zoom level of the map (0-24). (optional, default `0`)
599
+ * `options.map.maxZoom` **[number][18]** The maximum zoom level of the map (0-24). (optional, default `24`)
600
+ * `options.map.raster` **[object][13]?** The MapLibre raster source for aerial background. This must be a JSON object following [MapLibre raster source definition][21].
589
601
  * `options.map.center` **external:maplibre-gl.LngLatLike** The initial geographical centerpoint of the map. If `center` is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to `[0, 0]` Note: MapLibre GL uses longitude, latitude coordinate order (as opposed to latitude, longitude) to match GeoJSON. (optional, default `[0,0]`)
590
- * `options.map.zoom` **[number][17]** The initial zoom level of the map. If `zoom` is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to `0`. (optional, default `0`)
602
+ * `options.map.zoom` **[number][18]** The initial zoom level of the map. If `zoom` is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to `0`. (optional, default `0`)
591
603
  * `options.map.bounds` **external:maplibre-gl.LngLatBoundsLike?** The initial bounds of the map. If `bounds` is specified, it overrides `center` and `zoom` constructor options.
592
- * `options.map.geocoder` **[object][12]?** Optional geocoder settings
604
+ * `options.map.geocoder` **[object][13]?** Optional geocoder settings
593
605
 
594
- * `options.map.geocoder.engine` **[string][9]?** Set the geocoder engine to use (nominatim, ban)
595
- * `options.map.background` **[string][9]?** Choose default map background to display (streets or aerial, if raster aerial background available). Defaults to street.
596
- * `options.map.theme` **[string][9]** The colouring scheme to use for pictures and sequences on map (default, age, type) (optional, default `default`)
597
- * `options.style` **([string][9] | [object][12])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][15], or a URL string pointing to one.
598
- * `options.widgets` **[object][12]?** Settings related to viewer buttons and widgets
606
+ * `options.map.geocoder.engine` **[string][10]?** Set the geocoder engine to use (nominatim, ban)
607
+ * `options.map.background` **[string][10]?** Choose default map background to display (streets or aerial, if raster aerial background available). Defaults to street.
608
+ * `options.map.theme` **[string][10]** The colouring scheme to use for pictures and sequences on map (default, age, type) (optional, default `default`)
609
+ * `options.style` **([string][10] | [object][13])?** The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification][16], or a URL string pointing to one.
610
+ * `options.widgets` **[object][13]?** Settings related to viewer buttons and widgets
599
611
 
600
- * `options.widgets.editIdUrl` **[string][9]?** URL to the OpenStreetMap iD editor (defaults to OSM.org iD instance)
601
- * `options.widgets.customWidget` **([string][9] | [Element][10])?** A user-defined widget to add (will be shown over "Share" button)
602
- * `options.widgets.mapAttribution` **[string][9]?** Override the default map attribution (read from MapLibre style)
603
- * `options.widgets.iframeBaseURL` **[string][9]?** Set a custom base URL for the "Share as iframe" menu (defaults to current page)
612
+ * `options.widgets.editIdUrl` **[string][10]?** URL to the OpenStreetMap iD editor (defaults to OSM.org iD instance)
613
+ * `options.widgets.customWidget` **([string][10] | [Element][11])?** A user-defined widget to add (will be shown over "Share" button)
614
+ * `options.widgets.mapAttribution` **[string][10]?** Override the default map attribution (read from MapLibre style)
615
+ * `options.widgets.iframeBaseURL` **[string][10]?** Set a custom base URL for the "Share as iframe" menu (defaults to current page)
604
616
 
605
617
  ### Properties
606
618
 
@@ -623,8 +635,8 @@ Change full-page popup visibility and content
623
635
 
624
636
  #### Parameters
625
637
 
626
- * `visible` **[boolean][16]** True to make it appear
627
- * `content` **([string][9] | [Array][14]<[Element][10]>)?** The new popup content (optional, default `null`)
638
+ * `visible` **[boolean][17]** True to make it appear
639
+ * `content` **([string][10] | [Array][15]<[Element][11]>)?** The new popup content (optional, default `null`)
628
640
 
629
641
  ### playSequence
630
642
 
@@ -638,7 +650,7 @@ Stops playing current sequence
638
650
 
639
651
  Is there any sequence being played right now ?
640
652
 
641
- Returns **[boolean][16]** True if sequence is playing
653
+ Returns **[boolean][17]** True if sequence is playing
642
654
 
643
655
  ### toggleSequencePlaying
644
656
 
@@ -670,13 +682,13 @@ Moves the view of main component slightly to the bottom.
670
682
 
671
683
  Is the map shown as main element instead of viewer (wide map mode) ?
672
684
 
673
- Returns **[boolean][16]** True if map is wider than viewer
685
+ Returns **[boolean][17]** True if map is wider than viewer
674
686
 
675
687
  ### getPicturesNavigation
676
688
 
677
689
  Get current pictures navigation mode.
678
690
 
679
- Returns **[string][9]** The picture navigation mode ("any": no restriction, "seq": only pictures in same sequence, "pic": only selected picture)
691
+ Returns **[string][10]** The picture navigation mode ("any": no restriction, "seq": only pictures in same sequence, "pic": only selected picture)
680
692
 
681
693
  ### setPicturesNavigation
682
694
 
@@ -684,17 +696,17 @@ Switch the allowed navigation between pictures.
684
696
 
685
697
  #### Parameters
686
698
 
687
- * `pn` **[string][9]** The picture navigation mode ("any": no restriction, "seq": only pictures in same sequence, "pic": only selected picture)
699
+ * `pn` **[string][10]** The picture navigation mode ("any": no restriction, "seq": only pictures in same sequence, "pic": only selected picture)
688
700
 
689
701
  ### toggleJOSMLive
690
702
 
691
- Enable or disable JOSM live editing using [Remote][26]
703
+ Enable or disable JOSM live editing using [Remote][27]
692
704
 
693
705
  #### Parameters
694
706
 
695
- * `enabled` **[boolean][16]** Set to true to enable JOSM live
707
+ * `enabled` **[boolean][17]** Set to true to enable JOSM live
696
708
 
697
- Returns **[Promise][24]** Resolves on JOSM live being enabled or disabled
709
+ Returns **[Promise][25]** Resolves on JOSM live being enabled or disabled
698
710
 
699
711
  ### setFocus
700
712
 
@@ -702,8 +714,8 @@ Change the viewer focus (either on picture or map)
702
714
 
703
715
  #### Parameters
704
716
 
705
- * `focus` **[string][9]** The object to focus on (map, pic)
706
- * `skipEvent` **[boolean][16]** True to not send focus-changed event (optional, default `false`)
717
+ * `focus` **[string][10]** The object to focus on (map, pic)
718
+ * `skipEvent` **[boolean][17]** True to not send focus-changed event (optional, default `false`)
707
719
 
708
720
  ### toggleFocus
709
721
 
@@ -715,7 +727,7 @@ Change the visibility of reduced component (picture or map)
715
727
 
716
728
  #### Parameters
717
729
 
718
- * `visible` **[boolean][16]** True to make reduced component visible
730
+ * `visible` **[boolean][17]** True to make reduced component visible
719
731
 
720
732
  ### toggleUnfocusedVisible
721
733
 
@@ -727,14 +739,14 @@ Change the map filters
727
739
 
728
740
  #### Parameters
729
741
 
730
- * `filters` **[object][12]** Filtering values
742
+ * `filters` **[object][13]** Filtering values
731
743
 
732
- * `filters.minDate` **[string][9]?** Start date for pictures (format YYYY-MM-DD)
733
- * `filters.maxDate` **[string][9]?** End date for pictures (format YYYY-MM-DD)
734
- * `filters.type` **[string][9]?** Type of picture to keep (flat, equirectangular)
735
- * `filters.camera` **[string][9]?** Camera make and model to keep
736
- * `filters.theme` **[string][9]?** Map theme to use
737
- * `skipZoomIn` **[boolean][16]** If true, doesn't force zoom in to map level >= 7 (optional, default `false`)
744
+ * `filters.minDate` **[string][10]?** Start date for pictures (format YYYY-MM-DD)
745
+ * `filters.maxDate` **[string][10]?** End date for pictures (format YYYY-MM-DD)
746
+ * `filters.type` **[string][10]?** Type of picture to keep (flat, equirectangular)
747
+ * `filters.camera` **[string][10]?** Camera make and model to keep
748
+ * `filters.theme` **[string][10]?** Map theme to use
749
+ * `skipZoomIn` **[boolean][17]** If true, doesn't force zoom in to map level >= 7 (optional, default `false`)
738
750
 
739
751
  ### sequence-playing
740
752
 
@@ -748,13 +760,13 @@ Event for sequence stopped playing
748
760
 
749
761
  Event for pictures navigation mode change
750
762
 
751
- Type: [object][12]
763
+ Type: [object][13]
752
764
 
753
765
  #### Properties
754
766
 
755
- * `detail` **[object][12]** Event information
767
+ * `detail` **[object][13]** Event information
756
768
 
757
- * `detail.value` **[string][9]** New mode (any, pic, seq)
769
+ * `detail.value` **[string][10]** New mode (any, pic, seq)
758
770
 
759
771
  ### josm-live-enabled
760
772
 
@@ -768,29 +780,29 @@ Event for JOSM live disabled
768
780
 
769
781
  Event for focus change (either map or picture is shown wide)
770
782
 
771
- Type: [object][12]
783
+ Type: [object][13]
772
784
 
773
785
  #### Properties
774
786
 
775
- * `detail` **[object][12]** Event information
787
+ * `detail` **[object][13]** Event information
776
788
 
777
- * `detail.focus` **[string][9]** Component now focused on (map, pic)
789
+ * `detail.focus` **[string][10]** Component now focused on (map, pic)
778
790
 
779
791
  ### filters-changed
780
792
 
781
793
  Event for filters changes
782
794
 
783
- Type: [object][12]
795
+ Type: [object][13]
784
796
 
785
797
  #### Properties
786
798
 
787
- * `detail` **[object][12]** Event information
799
+ * `detail` **[object][13]** Event information
788
800
 
789
- * `detail.minDate` **[string][9]?** The minimum date in time range (ISO format)
790
- * `detail.maxDate` **[string][9]?** The maximum date in time range (ISO format)
791
- * `detail.type` **[string][9]?** Camera type (equirectangular, flat, null/empty string for both)
792
- * `detail.camera` **[string][9]?** Camera make and model
793
- * `detail.theme` **[string][9]?** Map theme
801
+ * `detail.minDate` **[string][10]?** The minimum date in time range (ISO format)
802
+ * `detail.maxDate` **[string][10]?** The maximum date in time range (ISO format)
803
+ * `detail.type` **[string][10]?** Camera type (equirectangular, flat, null/empty string for both)
804
+ * `detail.camera` **[string][10]?** Camera make and model
805
+ * `detail.theme` **[string][10]?** Map theme
794
806
 
795
807
  [1]: #coreview
796
808
 
@@ -802,44 +814,46 @@ Type: [object][12]
802
814
 
803
815
  [5]: #standalonemap
804
816
 
805
- [6]: #getcookie
817
+ [6]: #autodetectlocale
818
+
819
+ [7]: #getcookie
806
820
 
807
- [7]: #getuseraccount
821
+ [8]: #getuseraccount
808
822
 
809
- [8]: #viewer
823
+ [9]: #viewer
810
824
 
811
- [9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
825
+ [10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
812
826
 
813
- [10]: https://developer.mozilla.org/docs/Web/API/Element
827
+ [11]: https://developer.mozilla.org/docs/Web/API/Element
814
828
 
815
- [11]: https://github.com/radiantearth/stac-api-spec/blob/main/overview.md
829
+ [12]: https://github.com/radiantearth/stac-api-spec/blob/main/overview.md
816
830
 
817
- [12]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
831
+ [13]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
818
832
 
819
- [13]: https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters
833
+ [14]: https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters
820
834
 
821
- [14]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
835
+ [15]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
822
836
 
823
- [15]: https://maplibre.org/maplibre-gl-js-docs/style-spec/
837
+ [16]: https://maplibre.org/maplibre-gl-js-docs/style-spec/
824
838
 
825
- [16]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
839
+ [17]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
826
840
 
827
- [17]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
841
+ [18]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
828
842
 
829
- [18]: https://maplibre.org/maplibre-gl-js/docs/API/classes/Map/
843
+ [19]: https://maplibre.org/maplibre-gl-js/docs/API/classes/Map/
830
844
 
831
- [19]: https://maplibre.org/maplibre-gl-js-docs/api/map/#map-parameters
845
+ [20]: https://maplibre.org/maplibre-gl-js-docs/api/map/#map-parameters
832
846
 
833
- [20]: https://maplibre.org/maplibre-style-spec/sources/#raster
847
+ [21]: https://maplibre.org/maplibre-style-spec/sources/#raster
834
848
 
835
- [21]: https://photo-sphere-viewer.js.org/api/classes/core.viewer
849
+ [22]: https://photo-sphere-viewer.js.org/api/classes/core.viewer
836
850
 
837
- [22]: https://photo-sphere-viewer.js.org/guide/config.html#standard-options
851
+ [23]: https://photo-sphere-viewer.js.org/guide/config.html#standard-options
838
852
 
839
- [23]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
853
+ [24]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
840
854
 
841
- [24]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
855
+ [25]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
842
856
 
843
- [25]: #CoreView
857
+ [26]: #CoreView
844
858
 
845
- [26]: https://josm.openstreetmap.de/wiki/Help/RemoteControlCommands
859
+ [27]: https://josm.openstreetmap.de/wiki/Help/RemoteControlCommands