Shared module for vector tile render type enum
This commit is contained in:
@@ -4,6 +4,7 @@ goog.require('ol');
|
||||
goog.require('ol.asserts');
|
||||
goog.require('ol.layer.TileProperty');
|
||||
goog.require('ol.layer.Vector');
|
||||
goog.require('ol.layer.VectorTileRenderType');
|
||||
goog.require('ol.obj');
|
||||
|
||||
|
||||
@@ -33,16 +34,16 @@ ol.layer.VectorTile = function(opt_options) {
|
||||
options.useInterimTilesOnError : true);
|
||||
|
||||
ol.asserts.assert(options.renderMode == undefined ||
|
||||
options.renderMode == ol.layer.VectorTile.RenderType.IMAGE ||
|
||||
options.renderMode == ol.layer.VectorTile.RenderType.HYBRID ||
|
||||
options.renderMode == ol.layer.VectorTile.RenderType.VECTOR,
|
||||
options.renderMode == ol.layer.VectorTileRenderType.IMAGE ||
|
||||
options.renderMode == ol.layer.VectorTileRenderType.HYBRID ||
|
||||
options.renderMode == ol.layer.VectorTileRenderType.VECTOR,
|
||||
28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'`
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {ol.layer.VectorTile.RenderType|string}
|
||||
* @type {ol.layer.VectorTileRenderType|string}
|
||||
*/
|
||||
this.renderMode_ = options.renderMode || ol.layer.VectorTile.RenderType.HYBRID;
|
||||
this.renderMode_ = options.renderMode || ol.layer.VectorTileRenderType.HYBRID;
|
||||
|
||||
};
|
||||
ol.inherits(ol.layer.VectorTile, ol.layer.Vector);
|
||||
@@ -60,7 +61,7 @@ ol.layer.VectorTile.prototype.getPreload = function() {
|
||||
|
||||
|
||||
/**
|
||||
* @return {ol.layer.VectorTile.RenderType|string} The render mode.
|
||||
* @return {ol.layer.VectorTileRenderType|string} The render mode.
|
||||
*/
|
||||
ol.layer.VectorTile.prototype.getRenderMode = function() {
|
||||
return this.renderMode_;
|
||||
@@ -110,23 +111,3 @@ ol.layer.VectorTile.Property_ = {
|
||||
PRELOAD: 'preload',
|
||||
USE_INTERIM_TILES_ON_ERROR: 'useInterimTilesOnError'
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
* Render mode for vector tiles:
|
||||
* * `'image'`: Vector tiles are rendered as images. Great performance, but
|
||||
* point symbols and texts are always rotated with the view and pixels are
|
||||
* scaled during zoom animations.
|
||||
* * `'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.
|
||||
* * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering
|
||||
* even during animations, but slower performance than the other options.
|
||||
* @api
|
||||
*/
|
||||
ol.layer.VectorTile.RenderType = {
|
||||
IMAGE: 'image',
|
||||
HYBRID: 'hybrid',
|
||||
VECTOR: 'vector'
|
||||
};
|
||||
|
||||
20
src/ol/layer/vectortilerendertype.js
Normal file
20
src/ol/layer/vectortilerendertype.js
Normal file
@@ -0,0 +1,20 @@
|
||||
goog.provide('ol.layer.VectorTileRenderType');
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
* Render mode for vector tiles:
|
||||
* * `'image'`: Vector tiles are rendered as images. Great performance, but
|
||||
* point symbols and texts are always rotated with the view and pixels are
|
||||
* scaled during zoom animations.
|
||||
* * `'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.
|
||||
* * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering
|
||||
* even during animations, but slower performance than the other options.
|
||||
* @api
|
||||
*/
|
||||
ol.layer.VectorTileRenderType = {
|
||||
IMAGE: 'image',
|
||||
HYBRID: 'hybrid',
|
||||
VECTOR: 'vector'
|
||||
};
|
||||
@@ -4,7 +4,7 @@ goog.require('ol');
|
||||
goog.require('ol.extent');
|
||||
goog.require('ol.proj');
|
||||
goog.require('ol.proj.Units');
|
||||
goog.require('ol.layer.VectorTile');
|
||||
goog.require('ol.layer.VectorTileRenderType');
|
||||
goog.require('ol.render.ReplayType');
|
||||
goog.require('ol.render.canvas');
|
||||
goog.require('ol.render.canvas.ReplayGroup');
|
||||
@@ -44,7 +44,7 @@ ol.renderer.canvas.VectorTileLayer = function(layer) {
|
||||
|
||||
// Use lower resolution for pure vector rendering. Closest resolution otherwise.
|
||||
this.zDirection =
|
||||
layer.getRenderMode() == ol.layer.VectorTile.RenderType.VECTOR ? 1 : 0;
|
||||
layer.getRenderMode() == ol.layer.VectorTileRenderType.VECTOR ? 1 : 0;
|
||||
|
||||
};
|
||||
ol.inherits(ol.renderer.canvas.VectorTileLayer, ol.renderer.canvas.TileLayer);
|
||||
@@ -185,7 +185,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.drawTileImage = function(
|
||||
var vectorTile = /** @type {ol.VectorTile} */ (tile);
|
||||
this.createReplayGroup_(vectorTile, frameState);
|
||||
var layer = this.getLayer();
|
||||
if (layer.getRenderMode() != ol.layer.VectorTile.RenderType.VECTOR) {
|
||||
if (layer.getRenderMode() != ol.layer.VectorTileRenderType.VECTOR) {
|
||||
this.renderTileImage_(vectorTile, frameState, layerState);
|
||||
}
|
||||
ol.renderer.canvas.TileLayer.prototype.drawTileImage.apply(this, arguments);
|
||||
|
||||
Reference in New Issue
Block a user