ol 10.4.1-dev.1742480966848 → 10.4.1-dev.1742588748444
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/ol.d.ts +2 -0
- package/dist/ol.d.ts.map +1 -1
- package/dist/ol.js +1 -1
- package/dist/ol.js.map +1 -1
- package/package.json +1 -1
- package/renderer/canvas/Layer.d.ts +1 -1
- package/renderer/canvas/Layer.d.ts.map +1 -1
- package/renderer/canvas/Layer.js +3 -2
- package/source/VectorTile.d.ts.map +1 -1
- package/source/VectorTile.js +8 -0
- package/transform.d.ts +8 -1
- package/transform.d.ts.map +1 -1
- package/transform.js +30 -11
- package/util.js +1 -1
package/package.json
CHANGED
|
@@ -73,7 +73,7 @@ declare class CanvasLayerRenderer<LayerType extends import("../../layer/Layer.js
|
|
|
73
73
|
/**
|
|
74
74
|
* Get a rendering container from an existing target, if compatible.
|
|
75
75
|
* @param {HTMLElement} target Potential render target.
|
|
76
|
-
* @param {string} transform CSS
|
|
76
|
+
* @param {string} transform CSS transform matrix.
|
|
77
77
|
* @param {string} [backgroundColor] Background color.
|
|
78
78
|
*/
|
|
79
79
|
useContainer(target: HTMLElement, transform: string, backgroundColor?: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["Layer.js"],"names":[],"mappings":"AA2BA;;GAEG;AACH,yBAFU,KAAK,CAAC,iBAAiB,CAAC,CAEL;;AAa7B;;;;GAIG;AACH,kCAHsD,SAAS,SAAlD,OAAQ,sBAAsB,EAAE,OAAQ;IAUjD;;;OAGG;IACH,qBAFU,WAAW,CAEA;IAErB;;;OAGG;IACH,8BAFU,MAAM,CAEO;IAEvB;;;;;OAKG;IACH,yBAFU,OAAO,oBAAoB,EAAE,SAAS,CAEV;IAEtC;;;;;OAKG;IACH,0BAFU,OAAO,oBAAoB,EAAE,SAAS,CAET;IAEvC;;;;;OAKG;IACH,iCAFU,OAAO,oBAAoB,EAAE,SAAS,CAEF;IAE9C;;OAEG;IACH,SAFU,wBAAwB,CAEf;IAEnB;;;OAGG;IACH,yBAA4B;IAE5B;;OAEG;IACH,iBAFU,OAAO,CAEW;IAE5B;;;OAGG;IACH,sBAFU,OAAO,cAAc,EAAE,UAAU,GAAC,IAAI,CAE1B;IAGxB;;;;;OAKG;IACH,oBALW,OAAO,mBAAmB,EAAE,SAAS,OACrC,MAAM,OACN,MAAM,GACL,iBAAiB,GAAC,IAAI,CAiBjC;IAED;;;OAGG;IACH,0BAHW,OAAO,cAAc,EAAE,UAAU,GAChC,MAAM,CASjB;IAED;;;;;OAKG;IACH,qBAJW,WAAW,aACX,MAAM,oBACN,MAAM,QA0DhB;IAED;;;;;OAKG;IACH,iCALW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,QA2B1C;IAED;;;;OAIG;IACH,uCAJW,OAAO,cAAc,EAAE,UAAU,UACjC,WAAW,QAsCrB;IAED;;;;;OAKG;IACH,6BAWC;IAED;;;;OAIG;IACH,6BAJW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,QAS3C;IAED;;;;OAIG;IACH,8BAJW,wBAAwB,cACxB,OAAO,cAAc,EAAE,UAAU,QAQ3C;IAED;;OAEG;IACH,mCAFW,OAAO,cAAc,EAAE,UAAU,QAEP;IAErC;;;OAGG;IACH,6BAHW,OAAO,cAAc,EAAE,UAAU,GAChC,OAAO,sCAAsC,EAAE,kBAAkB,CAS5E;IA2BD;;;;;;;;;;;OAWG;IACH,qCAVW,OAAO,qBAAqB,EAAE,UAAU,cACxC,MAAM,YACN,MAAM,cACN,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,GAEL,OAAQ,oBAAoB,EAAE,SAAS,CA2BlD;CAUF;0BA7YyB,aAAa"}
|
package/renderer/canvas/Layer.js
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
apply as applyTransform,
|
|
20
20
|
compose as composeTransform,
|
|
21
21
|
create as createTransform,
|
|
22
|
+
equivalent,
|
|
22
23
|
makeInverse,
|
|
23
24
|
toString as toTransformString,
|
|
24
25
|
} from '../../transform.js';
|
|
@@ -150,7 +151,7 @@ class CanvasLayerRenderer extends LayerRenderer {
|
|
|
150
151
|
/**
|
|
151
152
|
* Get a rendering container from an existing target, if compatible.
|
|
152
153
|
* @param {HTMLElement} target Potential render target.
|
|
153
|
-
* @param {string} transform CSS
|
|
154
|
+
* @param {string} transform CSS transform matrix.
|
|
154
155
|
* @param {string} [backgroundColor] Background color.
|
|
155
156
|
*/
|
|
156
157
|
useContainer(target, transform, backgroundColor) {
|
|
@@ -172,7 +173,7 @@ class CanvasLayerRenderer extends LayerRenderer {
|
|
|
172
173
|
context = canvas.getContext('2d');
|
|
173
174
|
}
|
|
174
175
|
}
|
|
175
|
-
if (context && context.canvas.style.transform
|
|
176
|
+
if (context && equivalent(context.canvas.style.transform, transform)) {
|
|
176
177
|
// Container of the previous layer renderer can be used.
|
|
177
178
|
this.container = target;
|
|
178
179
|
this.context = context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorTile.d.ts","sourceRoot":"","sources":["VectorTile.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VectorTile.d.ts","sourceRoot":"","sources":["VectorTile.js"],"names":[],"mappings":"AAubA;;;;;GAKG;AACH,oCAJoD,WAAW,SAAlD,OAAQ,eAAe,EAAE,WAAY,iDACvC,OAAO,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,OAC/C,MAAM,QAqBhB;;oBAxbmD,WAAW,SAAlD,OAAQ,eAAe,EAAE,WAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWpC,OAAO,YAAY,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAZjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH;;;;;;;;;;;;;GAaG;AACH,yBAFoD,WAAW,SAAlD,OAAQ,eAAe,EAAE,WAAY;IAGhD;;OAEG;IACH,qBAFY,OAAO,CAAC,WAAW,CAAC,EAsE/B;IAlCC;;;OAGG;IACH,gBAAqD;IAErD;;;OAGG;IACH,iCAAkC;IAElC;;OAEG;IACH;;MAAsB;IAEtB;;;OAGG;IACH,kBAAwE;IAExE;;;OAGG;IACH,iCAA6D;IAE7D;;;OAGG;IACH,mBAAoB;IAGtB;;OAEG;IACH,eAFY,OAAO,CAIlB;IAED;;;;;OAKG;IACH,2BALW,MAAM,cACN,OAAO,oBAAoB,EAAE,OAAO,QACpC,gBAAgB,GACf,KAAK,CAAC,SAA+B,CAAC,CAgGjD;IAED;;OAEG;IACH,wBAFW,gBAAgB,QAqB1B;IAED;;;;;;;;OAQG;IACH,oBARW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,cACN,OAAO,uBAAuB,EAAE,OAAO,GACrC,gBAAgB,CA0C5B;IAsED;;OAEG;IACH,sBAFW,OAAO,QAKjB;CACF;iBA7agB,kBAAkB;qBAYd,yBAAyB;oBAG1B,cAAc;6BAhBL,wBAAwB"}
|
package/source/VectorTile.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import TileState from '../TileState.js';
|
|
6
6
|
import VectorRenderTile from '../VectorRenderTile.js';
|
|
7
7
|
import Tile from '../VectorTile.js';
|
|
8
|
+
import {assert} from '../asserts.js';
|
|
8
9
|
import EventType from '../events/EventType.js';
|
|
9
10
|
import {
|
|
10
11
|
buffer as bufferExtent,
|
|
@@ -13,6 +14,7 @@ import {
|
|
|
13
14
|
} from '../extent.js';
|
|
14
15
|
import {loadFeaturesXhr} from '../featureloader.js';
|
|
15
16
|
import {isEmpty} from '../obj.js';
|
|
17
|
+
import {equivalent} from '../proj.js';
|
|
16
18
|
import {toSize} from '../size.js';
|
|
17
19
|
import TileGrid from '../tilegrid/TileGrid.js';
|
|
18
20
|
import {DEFAULT_MAX_ZOOM} from '../tilegrid/common.js';
|
|
@@ -365,6 +367,12 @@ class VectorTile extends UrlTile {
|
|
|
365
367
|
const code = projection.getCode();
|
|
366
368
|
let tileGrid = this.tileGrids_[code];
|
|
367
369
|
if (!tileGrid) {
|
|
370
|
+
const sourceProjection = this.getProjection();
|
|
371
|
+
assert(
|
|
372
|
+
sourceProjection === null || equivalent(sourceProjection, projection),
|
|
373
|
+
'A VectorTile source can only be rendered if it has a projection compatible with the view projection.',
|
|
374
|
+
);
|
|
375
|
+
|
|
368
376
|
// A tile grid that matches the tile size of the source tile grid is more
|
|
369
377
|
// likely to have 1:1 relationships between source tiles and rendered tiles.
|
|
370
378
|
const sourceTileGrid = this.tileGrid;
|
package/transform.d.ts
CHANGED
|
@@ -127,12 +127,19 @@ export function makeInverse(target: Transform, source: Transform): Transform;
|
|
|
127
127
|
*/
|
|
128
128
|
export function determinant(mat: Transform): number;
|
|
129
129
|
/**
|
|
130
|
-
* A
|
|
130
|
+
* A matrix string version of the transform. This can be used
|
|
131
131
|
* for CSS transforms.
|
|
132
132
|
* @param {!Transform} mat Matrix.
|
|
133
133
|
* @return {string} The transform as a string.
|
|
134
134
|
*/
|
|
135
135
|
export function toString(mat: Transform): string;
|
|
136
|
+
/**
|
|
137
|
+
* Compare two matrices for equality.
|
|
138
|
+
* @param {!string} cssTransform1 A CSS transform matrix string.
|
|
139
|
+
* @param {!string} cssTransform2 A CSS transform matrix string.
|
|
140
|
+
* @return {boolean} The two matrices are equal.
|
|
141
|
+
*/
|
|
142
|
+
export function equivalent(cssTransform1: string, cssTransform2: string): boolean;
|
|
136
143
|
/**
|
|
137
144
|
* An array representing an affine 2d transformation for use with
|
|
138
145
|
* {@link module :ol/transform} functions. The array has 6 elements.
|
package/transform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["transform.js"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,0BAFa,SAAS,CAIrB;AAED;;;;GAIG;AACH,iCAHY,SAAS,GACR,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,qCAJY,SAAS,cACT,SAAS,GACR,SAAS,CAwBrB;AAED;;;;;;;;;;GAUG;AACH,+BATY,SAAS,KACV,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,GACJ,SAAS,CAUrB;AAED;;;;;GAKG;AACH,yCAJY,SAAS,cACT,SAAS,GACR,SAAS,CAUrB;AAED;;;;;;;;GAQG;AACH,iCALW,SAAS,cACT,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,GAC9D,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,CAS1E;AAED;;;;;GAKG;AACH,kCAJY,SAAS,SACV,MAAM,GACJ,SAAS,CAMrB;AAED;;;;;;GAMG;AACH,iCALY,SAAS,KACV,MAAM,KACN,MAAM,GACJ,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,kCALY,SAAS,KACV,MAAM,KACN,MAAM,GACJ,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,qCALY,SAAS,MACV,MAAM,MACN,MAAM,GACJ,SAAS,CAIrB;AAED;;;;;;;;;;;;GAYG;AACH,mCAVY,SAAS,OACV,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,GACJ,SAAS,CAYrB;AAED;;;;;;;;;;;;;GAaG;AACH,yCAVW,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,+BAHY,SAAS,GACR,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,oCALY,SAAS,UAET,SAAS,GACR,SAAS,CAqBrB;AAED;;;;GAIG;AACH,iCAHY,SAAS,GACT,MAAM,CAIjB;AAOD;;;;;GAKG;AACH,8BAHY,SAAS,GACT,MAAM,
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["transform.js"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,0BAFa,SAAS,CAIrB;AAED;;;;GAIG;AACH,iCAHY,SAAS,GACR,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,qCAJY,SAAS,cACT,SAAS,GACR,SAAS,CAwBrB;AAED;;;;;;;;;;GAUG;AACH,+BATY,SAAS,KACV,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,GACJ,SAAS,CAUrB;AAED;;;;;GAKG;AACH,yCAJY,SAAS,cACT,SAAS,GACR,SAAS,CAUrB;AAED;;;;;;;;GAQG;AACH,iCALW,SAAS,cACT,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,GAC9D,OAAO,iBAAiB,EAAE,UAAU,GAAC,OAAO,YAAY,EAAE,KAAK,CAS1E;AAED;;;;;GAKG;AACH,kCAJY,SAAS,SACV,MAAM,GACJ,SAAS,CAMrB;AAED;;;;;;GAMG;AACH,iCALY,SAAS,KACV,MAAM,KACN,MAAM,GACJ,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,kCALY,SAAS,KACV,MAAM,KACN,MAAM,GACJ,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,qCALY,SAAS,MACV,MAAM,MACN,MAAM,GACJ,SAAS,CAIrB;AAED;;;;;;;;;;;;GAYG;AACH,mCAVY,SAAS,OACV,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,GACJ,SAAS,CAYrB;AAED;;;;;;;;;;;;;GAaG;AACH,yCAVW,MAAM,OACN,MAAM,MACN,MAAM,MACN,MAAM,SACN,MAAM,OACN,MAAM,OACN,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,+BAHY,SAAS,GACR,SAAS,CAIrB;AAED;;;;;;GAMG;AACH,oCALY,SAAS,UAET,SAAS,GACR,SAAS,CAqBrB;AAED;;;;GAIG;AACH,iCAHY,SAAS,GACT,MAAM,CAIjB;AAOD;;;;;GAKG;AACH,8BAHY,SAAS,GACT,MAAM,CAKjB;AAYD;;;;;GAKG;AACH,0CAJW,MAAO,iBACP,MAAO,GACN,OAAO,CAWlB;;;;;wBA3Sa,KAAK,CAAC,MAAM,CAAC"}
|
package/transform.js
CHANGED
|
@@ -267,23 +267,42 @@ export function determinant(mat) {
|
|
|
267
267
|
/**
|
|
268
268
|
* @type {Array}
|
|
269
269
|
*/
|
|
270
|
-
const matrixPrecision = [
|
|
270
|
+
const matrixPrecision = [1e5, 1e5, 1e5, 1e5, 2, 2];
|
|
271
271
|
|
|
272
272
|
/**
|
|
273
|
-
* A
|
|
273
|
+
* A matrix string version of the transform. This can be used
|
|
274
274
|
* for CSS transforms.
|
|
275
275
|
* @param {!Transform} mat Matrix.
|
|
276
276
|
* @return {string} The transform as a string.
|
|
277
277
|
*/
|
|
278
278
|
export function toString(mat) {
|
|
279
|
-
const transformString =
|
|
280
|
-
'matrix(' +
|
|
281
|
-
mat
|
|
282
|
-
.map(
|
|
283
|
-
(value, i) =>
|
|
284
|
-
Math.round(value * matrixPrecision[i]) / matrixPrecision[i],
|
|
285
|
-
)
|
|
286
|
-
.join(', ') +
|
|
287
|
-
')';
|
|
279
|
+
const transformString = 'matrix(' + mat.join(', ') + ')';
|
|
288
280
|
return transformString;
|
|
289
281
|
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Create a transform from a CSS transform matrix string.
|
|
285
|
+
* @param {string} cssTransform The CSS string to parse.
|
|
286
|
+
* @return {!Transform} The transform.
|
|
287
|
+
*/
|
|
288
|
+
function fromString(cssTransform) {
|
|
289
|
+
const values = cssTransform.substring(7, cssTransform.length - 1).split(',');
|
|
290
|
+
return values.map(parseFloat);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Compare two matrices for equality.
|
|
295
|
+
* @param {!string} cssTransform1 A CSS transform matrix string.
|
|
296
|
+
* @param {!string} cssTransform2 A CSS transform matrix string.
|
|
297
|
+
* @return {boolean} The two matrices are equal.
|
|
298
|
+
*/
|
|
299
|
+
export function equivalent(cssTransform1, cssTransform2) {
|
|
300
|
+
const mat1 = fromString(cssTransform1);
|
|
301
|
+
const mat2 = fromString(cssTransform2);
|
|
302
|
+
for (let i = 0; i < 6; ++i) {
|
|
303
|
+
if (Math.round((mat1[i] - mat2[i]) * matrixPrecision[i]) !== 0) {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return true;
|
|
308
|
+
}
|
package/util.js
CHANGED