Replace VectorTileRenderType enum with typedef
This commit is contained in:
@@ -81,7 +81,7 @@ class ErrorEvent extends BaseEvent {
|
||||
* Recommended value: Vector tiles are usually generated with a buffer, so this value should match
|
||||
* the largest possible buffer of the used tiles. It should be at least the size of the largest
|
||||
* point symbol or line width.
|
||||
* @property {import("./VectorTileRenderType.js").default|string} [renderMode='hybrid'] Render mode for vector tiles:
|
||||
* @property {import("./VectorTile.js").VectorTileRenderType} [renderMode='hybrid'] Render mode for vector tiles:
|
||||
* * `'hybrid'`: Polygon and line elements are rendered as images, so pixels are scaled during zoom
|
||||
* animations. Point symbols and texts are accurately rendered as vectors and can stay upright on
|
||||
* rotated views.
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
import BaseVectorLayer from './BaseVector.js';
|
||||
import CanvasVectorTileLayerRenderer from '../renderer/canvas/VectorTileLayer.js';
|
||||
import TileProperty from './TileProperty.js';
|
||||
import VectorTileRenderType from './VectorTileRenderType.js';
|
||||
import {assert} from '../asserts.js';
|
||||
|
||||
/***
|
||||
@@ -17,6 +16,10 @@ import {assert} from '../asserts.js';
|
||||
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes, Return>} VectorTileLayerOnSignature
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {'hybrid' | 'vector'} VectorTileRenderType
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} Options
|
||||
* @property {string} [className='ol-layer'] A CSS class name to set to the layer element.
|
||||
@@ -44,7 +47,7 @@ import {assert} from '../asserts.js';
|
||||
* Recommended value: Vector tiles are usually generated with a buffer, so this value should match
|
||||
* the largest possible buffer of the used tiles. It should be at least the size of the largest
|
||||
* point symbol or line width.
|
||||
* @property {import("./VectorTileRenderType.js").default|string} [renderMode='hybrid'] Render mode for vector tiles:
|
||||
* @property {VectorTileRenderType} [renderMode='hybrid'] Render mode for vector tiles:
|
||||
* * `'hybrid'`: Polygon and line elements are rendered as images, so pixels are scaled during zoom
|
||||
* animations. Point symbols and texts are accurately rendered as vectors and can stay upright on
|
||||
* rotated views.
|
||||
@@ -126,16 +129,13 @@ class VectorTileLayer extends BaseVectorLayer {
|
||||
*/
|
||||
this.un;
|
||||
|
||||
const renderMode = options.renderMode || VectorTileRenderType.HYBRID;
|
||||
assert(
|
||||
renderMode == VectorTileRenderType.HYBRID ||
|
||||
renderMode == VectorTileRenderType.VECTOR,
|
||||
28
|
||||
); // `renderMode` must be `'hybrid'` or `'vector'`.
|
||||
const renderMode = options.renderMode || 'hybrid';
|
||||
// `renderMode` must be `'hybrid'` or `'vector'`.
|
||||
assert(renderMode == 'hybrid' || renderMode == 'vector', 28);
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {import("./VectorTileRenderType.js").default}
|
||||
* @type {VectorTileRenderType}
|
||||
*/
|
||||
this.renderMode_ = renderMode;
|
||||
|
||||
@@ -184,7 +184,7 @@ class VectorTileLayer extends BaseVectorLayer {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {import("./VectorTileRenderType.js").default} The render mode.
|
||||
* @return {VectorTileRenderType} The render mode.
|
||||
*/
|
||||
getRenderMode() {
|
||||
return this.renderMode_;
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
/**
|
||||
* @module ol/layer/VectorTileRenderType
|
||||
*/
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
* Render mode for vector tiles:
|
||||
* @api
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* Polygon and line elements are rendered as images, so pixels
|
||||
* are scaled during zoom animations. Point symbols and texts are accurately
|
||||
* rendered as vectors and can stay upright on rotated views.
|
||||
* @api
|
||||
*/
|
||||
HYBRID: 'hybrid',
|
||||
/**
|
||||
* Everything is rendered as vectors. Use this mode for improved
|
||||
* performance on vector tile layers with only a few rendered features (e.g.
|
||||
* for highlighting a subset of features of another layer with the same
|
||||
* source).
|
||||
* @api
|
||||
*/
|
||||
VECTOR: 'vector',
|
||||
};
|
||||
@@ -5,7 +5,6 @@ import CanvasBuilderGroup from '../../render/canvas/BuilderGroup.js';
|
||||
import CanvasExecutorGroup from '../../render/canvas/ExecutorGroup.js';
|
||||
import CanvasTileLayerRenderer from './TileLayer.js';
|
||||
import TileState from '../../TileState.js';
|
||||
import VectorTileRenderType from '../../layer/VectorTileRenderType.js';
|
||||
import ViewHint from '../../ViewHint.js';
|
||||
import {
|
||||
HIT_DETECT_RESOLUTION,
|
||||
@@ -139,7 +138,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
||||
if (
|
||||
render &&
|
||||
(hifi || Date.now() - frameState.time < 8) &&
|
||||
layer.getRenderMode() !== VectorTileRenderType.VECTOR
|
||||
layer.getRenderMode() !== 'vector'
|
||||
) {
|
||||
this.renderTileImage_(tile, frameState);
|
||||
}
|
||||
@@ -154,7 +153,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
||||
const layer = this.getLayer();
|
||||
return (
|
||||
super.isDrawableTile(tile) &&
|
||||
(layer.getRenderMode() === VectorTileRenderType.VECTOR
|
||||
(layer.getRenderMode() === 'vector'
|
||||
? getUid(layer) in tile.executorGroups
|
||||
: tile.hasContext(layer))
|
||||
);
|
||||
@@ -289,7 +288,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
||||
const executorGroupInstructions = builderGroup.finish();
|
||||
// no need to clip when the render tile is covered by a single source tile
|
||||
const replayExtent =
|
||||
layer.getRenderMode() !== VectorTileRenderType.VECTOR &&
|
||||
layer.getRenderMode() !== 'vector' &&
|
||||
declutter &&
|
||||
sourceTiles.length === 1
|
||||
? null
|
||||
@@ -784,7 +783,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
||||
const layer = /** @type {import("../../layer/VectorTile.js").default} */ (
|
||||
this.getLayer()
|
||||
);
|
||||
if (layer.getRenderMode() === VectorTileRenderType.VECTOR) {
|
||||
if (layer.getRenderMode() === 'vector') {
|
||||
return false;
|
||||
}
|
||||
const replayState = tile.getReplayState(layer);
|
||||
|
||||
@@ -11,7 +11,6 @@ import TileState from '../../../../../../src/ol/TileState.js';
|
||||
import VectorRenderTile from '../../../../../../src/ol/VectorRenderTile.js';
|
||||
import VectorTile from '../../../../../../src/ol/VectorTile.js';
|
||||
import VectorTileLayer from '../../../../../../src/ol/layer/VectorTile.js';
|
||||
import VectorTileRenderType from '../../../../../../src/ol/layer/VectorTileRenderType.js';
|
||||
import VectorTileSource from '../../../../../../src/ol/source/VectorTile.js';
|
||||
import View from '../../../../../../src/ol/View.js';
|
||||
import XYZ from '../../../../../../src/ol/source/XYZ.js';
|
||||
@@ -124,7 +123,7 @@ describe('ol/renderer/canvas/VectorTileLayer', function () {
|
||||
|
||||
it('does not render images for pure vector rendering', function () {
|
||||
const testLayer = new VectorTileLayer({
|
||||
renderMode: VectorTileRenderType.VECTOR,
|
||||
renderMode: 'vector',
|
||||
source: source,
|
||||
style: layerStyle,
|
||||
});
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import MVT from '../../../../src/ol/format/MVT.js';
|
||||
import Map from '../../../../src/ol/Map.js';
|
||||
import VectorTileLayer from '../../../../src/ol/layer/VectorTile.js';
|
||||
import VectorTileRenderType from '../../../../src/ol/layer/VectorTileRenderType.js';
|
||||
import VectorTileSource from '../../../../src/ol/source/VectorTile.js';
|
||||
import View from '../../../../src/ol/View.js';
|
||||
import {createXYZ} from '../../../../src/ol/tilegrid.js';
|
||||
@@ -9,7 +8,7 @@ import {createXYZ} from '../../../../src/ol/tilegrid.js';
|
||||
new Map({
|
||||
layers: [
|
||||
new VectorTileLayer({
|
||||
renderMode: VectorTileRenderType.VECTOR,
|
||||
renderMode: 'vector',
|
||||
opacity: 0.1,
|
||||
source: new VectorTileSource({
|
||||
format: new MVT(),
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import MVT from '../../../../src/ol/format/MVT.js';
|
||||
import Map from '../../../../src/ol/Map.js';
|
||||
import VectorTileLayer from '../../../../src/ol/layer/VectorTile.js';
|
||||
import VectorTileRenderType from '../../../../src/ol/layer/VectorTileRenderType.js';
|
||||
import VectorTileSource from '../../../../src/ol/source/VectorTile.js';
|
||||
import View from '../../../../src/ol/View.js';
|
||||
import {createXYZ} from '../../../../src/ol/tilegrid.js';
|
||||
@@ -9,7 +8,7 @@ import {createXYZ} from '../../../../src/ol/tilegrid.js';
|
||||
new Map({
|
||||
layers: [
|
||||
new VectorTileLayer({
|
||||
renderMode: VectorTileRenderType.VECTOR,
|
||||
renderMode: 'vector',
|
||||
source: new VectorTileSource({
|
||||
format: new MVT(),
|
||||
tileGrid: createXYZ(),
|
||||
|
||||
Reference in New Issue
Block a user