ol 7.1.1-dev.1668846572091 → 7.1.1-dev.1668961363905
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/Map.d.ts +9 -0
- package/Map.d.ts.map +1 -1
- package/Map.js +39 -15
- package/package.json +1 -1
- package/source/GeoTIFF.d.ts +10 -0
- package/source/GeoTIFF.d.ts.map +1 -1
- package/source/GeoTIFF.js +27 -11
- package/util.js +1 -1
package/Map.d.ts
CHANGED
|
@@ -393,6 +393,15 @@ declare class Map extends BaseObject {
|
|
|
393
393
|
* @type {?Array<import("./events.js").EventsKey>}
|
|
394
394
|
*/
|
|
395
395
|
private targetChangeHandlerKeys_;
|
|
396
|
+
/**
|
|
397
|
+
* @private
|
|
398
|
+
* @type {HTMLElement|null}
|
|
399
|
+
*/
|
|
400
|
+
private targetElement_;
|
|
401
|
+
/**
|
|
402
|
+
* @type {ResizeObserver}
|
|
403
|
+
*/
|
|
404
|
+
resizeObserver_: ResizeObserver;
|
|
396
405
|
/**
|
|
397
406
|
* @type {Collection<import("./control/Control.js").default>}
|
|
398
407
|
* @protected
|
package/Map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.d.ts","sourceRoot":"","sources":["Map.js"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Map.d.ts","sourceRoot":"","sources":["Map.js"],"names":[],"mappings":"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"}
|
package/Map.js
CHANGED
|
@@ -30,12 +30,13 @@ import {assert} from './asserts.js';
|
|
|
30
30
|
import {
|
|
31
31
|
clone,
|
|
32
32
|
createOrUpdateEmpty,
|
|
33
|
-
equals,
|
|
33
|
+
equals as equalsExtent,
|
|
34
34
|
getForViewAndSize,
|
|
35
35
|
isEmpty,
|
|
36
36
|
} from './extent.js';
|
|
37
37
|
import {defaults as defaultControls} from './control/defaults.js';
|
|
38
38
|
import {defaults as defaultInteractions} from './interaction/defaults.js';
|
|
39
|
+
import {equals} from './array.js';
|
|
39
40
|
import {fromUserCoordinate, toUserCoordinate} from './proj.js';
|
|
40
41
|
import {getUid} from './util.js';
|
|
41
42
|
import {hasArea} from './size.js';
|
|
@@ -419,6 +420,17 @@ class Map extends BaseObject {
|
|
|
419
420
|
*/
|
|
420
421
|
this.targetChangeHandlerKeys_ = null;
|
|
421
422
|
|
|
423
|
+
/**
|
|
424
|
+
* @private
|
|
425
|
+
* @type {HTMLElement|null}
|
|
426
|
+
*/
|
|
427
|
+
this.targetElement_ = null;
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* @type {ResizeObserver}
|
|
431
|
+
*/
|
|
432
|
+
this.resizeObserver_ = new ResizeObserver(() => this.updateSize());
|
|
433
|
+
|
|
422
434
|
/**
|
|
423
435
|
* @type {Collection<import("./control/Control.js").default>}
|
|
424
436
|
* @protected
|
|
@@ -645,6 +657,7 @@ class Map extends BaseObject {
|
|
|
645
657
|
this.controls.clear();
|
|
646
658
|
this.interactions.clear();
|
|
647
659
|
this.overlays_.clear();
|
|
660
|
+
this.resizeObserver_.disconnect();
|
|
648
661
|
this.setTarget(null);
|
|
649
662
|
super.disposeInternal();
|
|
650
663
|
}
|
|
@@ -825,13 +838,7 @@ class Map extends BaseObject {
|
|
|
825
838
|
* @api
|
|
826
839
|
*/
|
|
827
840
|
getTargetElement() {
|
|
828
|
-
|
|
829
|
-
if (target !== undefined) {
|
|
830
|
-
return typeof target === 'string'
|
|
831
|
-
? document.getElementById(target)
|
|
832
|
-
: target;
|
|
833
|
-
}
|
|
834
|
-
return null;
|
|
841
|
+
return this.targetElement_;
|
|
835
842
|
}
|
|
836
843
|
|
|
837
844
|
/**
|
|
@@ -1246,12 +1253,23 @@ class Map extends BaseObject {
|
|
|
1246
1253
|
removeNode(this.viewport_);
|
|
1247
1254
|
}
|
|
1248
1255
|
|
|
1256
|
+
if (this.targetElement_) {
|
|
1257
|
+
this.resizeObserver_.unobserve(this.targetElement_);
|
|
1258
|
+
const rootNode = this.targetElement_.getRootNode();
|
|
1259
|
+
if (rootNode instanceof ShadowRoot) {
|
|
1260
|
+
this.resizeObserver_.unobserve(rootNode.host);
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1249
1264
|
// target may be undefined, null, a string or an Element.
|
|
1250
1265
|
// If it's a string we convert it to an Element before proceeding.
|
|
1251
1266
|
// If it's not now an Element we remove the viewport from the DOM.
|
|
1252
1267
|
// If it's an Element we append the viewport element to it.
|
|
1253
1268
|
|
|
1254
|
-
const
|
|
1269
|
+
const target = this.getTarget();
|
|
1270
|
+
const targetElement =
|
|
1271
|
+
typeof target === 'string' ? document.getElementById(target) : target;
|
|
1272
|
+
this.targetElement_ = targetElement;
|
|
1255
1273
|
if (!targetElement) {
|
|
1256
1274
|
if (this.renderer_) {
|
|
1257
1275
|
clearTimeout(this.postRenderTimeoutHandle_);
|
|
@@ -1291,7 +1309,6 @@ class Map extends BaseObject {
|
|
|
1291
1309
|
PASSIVE_EVENT_LISTENERS ? {passive: false} : false
|
|
1292
1310
|
);
|
|
1293
1311
|
|
|
1294
|
-
const defaultView = this.getOwnerDocument().defaultView;
|
|
1295
1312
|
const keyboardEventTarget = !this.keyboardEventTarget_
|
|
1296
1313
|
? targetElement
|
|
1297
1314
|
: this.keyboardEventTarget_;
|
|
@@ -1308,8 +1325,12 @@ class Map extends BaseObject {
|
|
|
1308
1325
|
this.handleBrowserEvent,
|
|
1309
1326
|
this
|
|
1310
1327
|
),
|
|
1311
|
-
listen(defaultView, EventType.RESIZE, this.updateSize, this),
|
|
1312
1328
|
];
|
|
1329
|
+
const rootNode = targetElement.getRootNode();
|
|
1330
|
+
if (rootNode instanceof ShadowRoot) {
|
|
1331
|
+
this.resizeObserver_.observe(rootNode.host);
|
|
1332
|
+
}
|
|
1333
|
+
this.resizeObserver_.observe(targetElement);
|
|
1313
1334
|
}
|
|
1314
1335
|
|
|
1315
1336
|
this.updateSize();
|
|
@@ -1559,7 +1580,7 @@ class Map extends BaseObject {
|
|
|
1559
1580
|
const moveStart =
|
|
1560
1581
|
!this.previousExtent_ ||
|
|
1561
1582
|
(!isEmpty(this.previousExtent_) &&
|
|
1562
|
-
!
|
|
1583
|
+
!equalsExtent(frameState.extent, this.previousExtent_));
|
|
1563
1584
|
if (moveStart) {
|
|
1564
1585
|
this.dispatchEvent(
|
|
1565
1586
|
new MapEvent(MapEventType.MOVESTART, this, previousFrameState)
|
|
@@ -1572,7 +1593,7 @@ class Map extends BaseObject {
|
|
|
1572
1593
|
this.previousExtent_ &&
|
|
1573
1594
|
!frameState.viewHints[ViewHint.ANIMATING] &&
|
|
1574
1595
|
!frameState.viewHints[ViewHint.INTERACTING] &&
|
|
1575
|
-
!
|
|
1596
|
+
!equalsExtent(frameState.extent, this.previousExtent_);
|
|
1576
1597
|
|
|
1577
1598
|
if (idle) {
|
|
1578
1599
|
this.dispatchEvent(
|
|
@@ -1698,8 +1719,11 @@ class Map extends BaseObject {
|
|
|
1698
1719
|
}
|
|
1699
1720
|
}
|
|
1700
1721
|
|
|
1701
|
-
this.
|
|
1702
|
-
|
|
1722
|
+
const oldSize = this.getSize();
|
|
1723
|
+
if (size && (!oldSize || !equals(size, oldSize))) {
|
|
1724
|
+
this.setSize(size);
|
|
1725
|
+
this.updateViewportSize_();
|
|
1726
|
+
}
|
|
1703
1727
|
}
|
|
1704
1728
|
|
|
1705
1729
|
/**
|
package/package.json
CHANGED
package/source/GeoTIFF.d.ts
CHANGED
|
@@ -295,6 +295,16 @@ declare class GeoTIFFSource extends DataTile {
|
|
|
295
295
|
* ```
|
|
296
296
|
*/
|
|
297
297
|
getError(): Error;
|
|
298
|
+
/**
|
|
299
|
+
* Determine the projection of the images in this GeoTIFF.
|
|
300
|
+
* The default implementation looks at the ProjectedCSTypeGeoKey and the GeographicTypeGeoKey
|
|
301
|
+
* of each image in turn.
|
|
302
|
+
* You can override this method in a subclass to support more projections.
|
|
303
|
+
*
|
|
304
|
+
* @param {Array<Array<GeoTIFFImage>>} sources Each source is a list of images
|
|
305
|
+
* from a single GeoTIFF.
|
|
306
|
+
*/
|
|
307
|
+
determineProjection(sources: Array<Array<GeoTIFFImage>>): void;
|
|
298
308
|
/**
|
|
299
309
|
* Configure the tile grid based on images within the source GeoTIFFs. Each GeoTIFF
|
|
300
310
|
* must have the same internal tiled structure.
|
package/source/GeoTIFF.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoTIFF.d.ts","sourceRoot":"","sources":["GeoTIFF.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoFc,MAAM;;;;wBACN,MAAM;;;;4BACN,MAAM;;;;6BACN,MAAM;;;;6BACN,MAAM;;;;0BACN,MAAM;;;;2BACN,MAAM;;;;2BACN,MAAM;;sBAIP,OAAO,SAAS,EAAE,OAAO;2BAIzB,OAAO,SAAS,EAAE,YAAY;;;;;wBAK7B,MAAM;;;;wBACN,MAAM;;2BASP,OAAO,SAAS,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"GeoTIFF.d.ts","sourceRoot":"","sources":["GeoTIFF.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoFc,MAAM;;;;wBACN,MAAM;;;;4BACN,MAAM;;;;6BACN,MAAM;;;;6BACN,MAAM;;;;0BACN,MAAM;;;;2BACN,MAAM;;;;2BACN,MAAM;;sBAIP,OAAO,SAAS,EAAE,OAAO;2BAIzB,OAAO,SAAS,EAAE,YAAY;;;;;wBAK7B,MAAM;;;;wBACN,MAAM;;2BASP,OAAO,SAAS,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAuO7B,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAhB/B;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;GAOG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EAyGjB;IA5FC;;;OAGG;IACH,oBAAkC;IAIlC;;;OAGG;IACH,uBAA2C;IAE3C;;;OAGG;IACH,uBAA2C;IAE3C;;;OAGG;IACH,qBAAyC;IAEzC;;;OAGG;IACH,2BAA+C;IAE/C;;;OAGG;IACH,yBAAqB;IAErB;;;OAGG;IACH,sBAAkB;IAElB;;;OAGG;IACH,kBAAc;IAEd;;;OAGG;IACH,mBAA6C;IAE7C;;;OAGG;IACH,kBAAsB;IAEtB;;;OAGG;IACH,eAAkB;IAElB;;OAEG;IACH,eAFU,IAAI,GAAC,KAAK,GAAC,MAAM,CAEuB;IAuBpD;;;;;;;;;;;OAWG;IACH,YAXY,KAAK,CAahB;IAED;;;;;;;;OAQG;IACH,6BAHW,MAAM,MAAM,YAAY,CAAC,CAAC,QAapC;IAED;;;;;;OAMG;IACH,mBAwOC;IAED;;;;;;OAMG;IACH,kBA6EC;IAED;;;;;OAKG;IACH,qBA4GC;CACF"}
|
package/source/GeoTIFF.js
CHANGED
|
@@ -181,7 +181,10 @@ function getProjection(image) {
|
|
|
181
181
|
return null;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
if (
|
|
184
|
+
if (
|
|
185
|
+
geoKeys.ProjectedCSTypeGeoKey &&
|
|
186
|
+
geoKeys.ProjectedCSTypeGeoKey !== 32767
|
|
187
|
+
) {
|
|
185
188
|
const code = 'EPSG:' + geoKeys.ProjectedCSTypeGeoKey;
|
|
186
189
|
let projection = getCachedProjection(code);
|
|
187
190
|
if (!projection) {
|
|
@@ -196,7 +199,7 @@ function getProjection(image) {
|
|
|
196
199
|
return projection;
|
|
197
200
|
}
|
|
198
201
|
|
|
199
|
-
if (geoKeys.GeographicTypeGeoKey) {
|
|
202
|
+
if (geoKeys.GeographicTypeGeoKey && geoKeys.GeographicTypeGeoKey !== 32767) {
|
|
200
203
|
const code = 'EPSG:' + geoKeys.GeographicTypeGeoKey;
|
|
201
204
|
let projection = getCachedProjection(code);
|
|
202
205
|
if (!projection) {
|
|
@@ -498,6 +501,27 @@ class GeoTIFFSource extends DataTile {
|
|
|
498
501
|
return this.error_;
|
|
499
502
|
}
|
|
500
503
|
|
|
504
|
+
/**
|
|
505
|
+
* Determine the projection of the images in this GeoTIFF.
|
|
506
|
+
* The default implementation looks at the ProjectedCSTypeGeoKey and the GeographicTypeGeoKey
|
|
507
|
+
* of each image in turn.
|
|
508
|
+
* You can override this method in a subclass to support more projections.
|
|
509
|
+
*
|
|
510
|
+
* @param {Array<Array<GeoTIFFImage>>} sources Each source is a list of images
|
|
511
|
+
* from a single GeoTIFF.
|
|
512
|
+
*/
|
|
513
|
+
determineProjection(sources) {
|
|
514
|
+
const firstSource = sources[0];
|
|
515
|
+
for (let i = firstSource.length - 1; i >= 0; --i) {
|
|
516
|
+
const image = firstSource[i];
|
|
517
|
+
const projection = getProjection(image);
|
|
518
|
+
if (projection) {
|
|
519
|
+
this.projection = projection;
|
|
520
|
+
break;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
|
|
501
525
|
/**
|
|
502
526
|
* Configure the tile grid based on images within the source GeoTIFFs. Each GeoTIFF
|
|
503
527
|
* must have the same internal tiled structure.
|
|
@@ -660,15 +684,7 @@ class GeoTIFFSource extends DataTile {
|
|
|
660
684
|
}
|
|
661
685
|
|
|
662
686
|
if (!this.getProjection()) {
|
|
663
|
-
|
|
664
|
-
for (let i = firstSource.length - 1; i >= 0; --i) {
|
|
665
|
-
const image = firstSource[i];
|
|
666
|
-
const projection = getProjection(image);
|
|
667
|
-
if (projection) {
|
|
668
|
-
this.projection = projection;
|
|
669
|
-
break;
|
|
670
|
-
}
|
|
671
|
-
}
|
|
687
|
+
this.determineProjection(sources);
|
|
672
688
|
}
|
|
673
689
|
|
|
674
690
|
this.samplesPerPixel_ = samplesPerPixel;
|
package/util.js
CHANGED