Remove vector mode for vector tile rendering

This commit is contained in:
Tim Schaub
2018-11-14 15:51:18 +01:00
parent 39a4f42e3d
commit 20e5841aed
5 changed files with 7 additions and 37 deletions

View File

@@ -111,7 +111,7 @@ Features for `updates` must have an id set by the feature reader or `ol.Feature#
### 28 ### 28
`renderMode` must be `'image'`, `'hybrid'` or `'vector'`. `renderMode` must be `'image'` or `'hybrid'`.
### 29 ### 29

View File

@@ -94,9 +94,8 @@ class VectorTileLayer extends BaseVectorLayer {
let renderMode = options.renderMode || VectorTileRenderType.HYBRID; let renderMode = options.renderMode || VectorTileRenderType.HYBRID;
assert(renderMode == undefined || assert(renderMode == undefined ||
renderMode == VectorTileRenderType.IMAGE || renderMode == VectorTileRenderType.IMAGE ||
renderMode == VectorTileRenderType.HYBRID || renderMode == VectorTileRenderType.HYBRID,
renderMode == VectorTileRenderType.VECTOR, 28); // `renderMode` must be `'image'` or `'hybrid'`
28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'`
if (options.declutter && renderMode == VectorTileRenderType.IMAGE) { if (options.declutter && renderMode == VectorTileRenderType.IMAGE) {
renderMode = VectorTileRenderType.HYBRID; renderMode = VectorTileRenderType.HYBRID;

View File

@@ -17,6 +17,5 @@
*/ */
export default { export default {
IMAGE: 'image', IMAGE: 'image',
HYBRID: 'hybrid', HYBRID: 'hybrid'
VECTOR: 'vector'
}; };

View File

@@ -58,9 +58,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
* @param {import("../../layer/VectorTile.js").default} layer VectorTile layer. * @param {import("../../layer/VectorTile.js").default} layer VectorTile layer.
*/ */
constructor(layer) { constructor(layer) {
super(layer);
const renderMode = layer.getRenderMode();
super(layer, renderMode === VectorTileRenderType.VECTOR);
/** /**
* Declutter tree. * Declutter tree.
@@ -86,9 +84,8 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
*/ */
this.tmpTransform_ = createTransform(); this.tmpTransform_ = createTransform();
// Use lower resolution for pure vector rendering. Closest resolution otherwise. // Use closest resolution.
this.zDirection = renderMode === VectorTileRenderType.VECTOR ? 1 : 0; this.zDirection = 0;
listen(labelCache, EventType.CLEAR, this.handleFontsChanged_, this); listen(labelCache, EventType.CLEAR, this.handleFontsChanged_, this);

View File

@@ -97,31 +97,6 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
expect(renderer.zDirection).to.be(0); expect(renderer.zDirection).to.be(0);
}); });
it('uses lower resolution for pure vector rendering', function() {
const testLayer = new VectorTileLayer({
renderMode: VectorTileRenderType.VECTOR,
source: source,
style: layerStyle
});
const renderer = new CanvasVectorTileLayerRenderer(testLayer);
expect(renderer.zDirection).to.be(1);
});
it('does not render images for pure vector rendering', function() {
const testLayer = new VectorTileLayer({
renderMode: VectorTileRenderType.VECTOR,
source: source,
style: layerStyle
});
map.removeLayer(layer);
map.addLayer(testLayer);
const spy = sinon.spy(CanvasVectorTileLayerRenderer.prototype,
'renderTileImage_');
map.renderSync();
expect(spy.callCount).to.be(0);
spy.restore();
});
it('does not render replays for pure image rendering', function() { it('does not render replays for pure image rendering', function() {
const testLayer = new VectorTileLayer({ const testLayer = new VectorTileLayer({
renderMode: VectorTileRenderType.IMAGE, renderMode: VectorTileRenderType.IMAGE,