44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
import GeoJSON from '../../../../src/ol/format/GeoJSON.js';
|
|
import MVT from '../../../../src/ol/format/MVT.js';
|
|
import VectorTile from '../../../../src/ol/VectorTile.js';
|
|
import {createXYZ} from '../../../../src/ol/tilegrid.js';
|
|
import {defaultLoadFunction} from '../../../../src/ol/source/VectorTile.js';
|
|
import {get as getProjection} from '../../../../src/ol/proj.js';
|
|
import {listen} from '../../../../src/ol/events.js';
|
|
|
|
describe('ol.VectorTile', function () {
|
|
it('loader reprojects GeoJSON features', function (done) {
|
|
const format = new GeoJSON();
|
|
const tile = new VectorTile([0, 0, 0], null, null, format);
|
|
const url = 'spec/ol/data/point.json';
|
|
defaultLoadFunction(tile, url);
|
|
const loader = tile.loader_;
|
|
listen(tile, 'change', function (e) {
|
|
expect(tile.getFeatures()[0].getGeometry().getFlatCoordinates()).to.eql([
|
|
-9724792.346778862, 4164041.638405114,
|
|
]);
|
|
done();
|
|
});
|
|
loader.call(tile, [], 1, getProjection('EPSG:3857'));
|
|
});
|
|
|
|
it('loader reprojects MVT features', function (done) {
|
|
const format = new MVT();
|
|
const tileGrid = createXYZ({
|
|
tileSize: 512,
|
|
});
|
|
const tile = new VectorTile([14, 8938, 5680], null, null, format);
|
|
const url = 'spec/ol/data/14-8938-5680.vector.pbf';
|
|
defaultLoadFunction(tile, url);
|
|
const loader = tile.loader_;
|
|
listen(tile, 'change', function (e) {
|
|
expect(
|
|
tile.getFeatures()[1246].getGeometry().getFlatCoordinates()
|
|
).to.eql([1827804.0218549764, 6144812.116688028]);
|
|
done();
|
|
});
|
|
const extent = tileGrid.getTileCoordExtent(tile.tileCoord);
|
|
loader.call(tile, extent, 1, getProjection('EPSG:3857'));
|
|
});
|
|
});
|