Merge pull request #11454 from ahocevar/vectortile-projection

VectorTile source projection has to match the view projection
This commit is contained in:
Andreas Hocevar
2020-08-24 19:15:14 +02:00
committed by GitHub
2 changed files with 11 additions and 7 deletions

View File

@@ -248,4 +248,8 @@ This is done by providing adequate shaders using the `hitVertexShader` and `hitF
### 67
A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both.
A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both.
### 68
Data from this source can only be rendered if it has a projection compatible with the view projection.

View File

@@ -6,6 +6,7 @@ import Source from './Source.js';
import TileCache from '../TileCache.js';
import TileState from '../TileState.js';
import {abstract} from '../util.js';
import {assert} from '../asserts.js';
import {equivalent} from '../proj.js';
import {getKeyZXY, withinExtentAndZ} from '../tilecoord.js';
import {
@@ -250,12 +251,11 @@ class TileSource extends Source {
* @protected
*/
getTileCacheForProjection(projection) {
const thisProj = this.getProjection();
if (thisProj && !equivalent(thisProj, projection)) {
return null;
} else {
return this.tileCache;
}
assert(
equivalent(this.getProjection(), projection),
68 // A VectorTile source can only be rendered if it has a projection compatible with the view projection.
);
return this.tileCache;
}
/**