Satisfying compiler
This commit is contained in:
@@ -6,6 +6,20 @@ goog.require('ol.Pixel');
|
|||||||
goog.require('ol.Projection');
|
goog.require('ol.Projection');
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO(tschaub): get rid of this
|
||||||
|
* @typedef {{coordinates: (Array)}}
|
||||||
|
*/
|
||||||
|
ol.GeoJSONGeometry;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO(tschaub): get rid of this
|
||||||
|
* @typedef {{geometry: (ol.GeoJSONGeometry)}}
|
||||||
|
*/
|
||||||
|
ol.GeoJSONFeature;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
@@ -50,13 +64,19 @@ ol.renderer.tile.Canvas = function(layerRenderer) {
|
|||||||
this.size_;
|
this.size_;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {CanvasContext}
|
* @type {Element}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
this.canvas_;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {CanvasRenderingContext2D}
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
this.context_;
|
this.context_;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {CanvasImageData}
|
* @type {ImageData}
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
this.pixelData_;
|
this.pixelData_;
|
||||||
@@ -73,9 +93,10 @@ ol.renderer.tile.Canvas.prototype.setSize = function(size) {
|
|||||||
}
|
}
|
||||||
this.size_ = size;
|
this.size_ = size;
|
||||||
if (!this.context_) {
|
if (!this.context_) {
|
||||||
this.context_ = document.createElement('canvas').getContext('2d');
|
this.canvas_ = goog.dom.createElement(goog.dom.TagName.CANVAS);
|
||||||
|
this.context_ = this.canvas_.getContext('2d');
|
||||||
this.pixelData_ = this.context_.createImageData(1, 1).data;
|
this.pixelData_ = this.context_.createImageData(1, 1).data;
|
||||||
this.pixelData[3] = 1; // opacity
|
this.pixelData_[3] = 1; // opacity
|
||||||
}
|
}
|
||||||
goog.style.setSize(this.canvas_, size);
|
goog.style.setSize(this.canvas_, size);
|
||||||
};
|
};
|
||||||
@@ -89,7 +110,8 @@ ol.renderer.tile.Canvas.prototype.setOrigin = function(origin) {
|
|||||||
origin = new ol.Coordinate(origin.x, origin.y);
|
origin = new ol.Coordinate(origin.x, origin.y);
|
||||||
}
|
}
|
||||||
this.origin_ = origin;
|
this.origin_ = origin;
|
||||||
this.originPixel_ = this.layerRenderer_.getPixelFromCoordinate(origin);
|
var mapRenderer = this.layerRenderer_.getMapRenderer();
|
||||||
|
this.originPixel_ = mapRenderer.getPixelFromCoordinate(origin);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -106,9 +128,10 @@ ol.renderer.tile.Canvas.prototype.setResolution = function(resolution) {
|
|||||||
* @param {ol.Projection=} opt_projection Projection.
|
* @param {ol.Projection=} opt_projection Projection.
|
||||||
*/
|
*/
|
||||||
ol.renderer.tile.Canvas.prototype.render = function(geoJson, opt_projection) {
|
ol.renderer.tile.Canvas.prototype.render = function(geoJson, opt_projection) {
|
||||||
var map = this.map;
|
var map = this.layerRenderer_.getMap();
|
||||||
this.projection_ = map.getProjection();
|
// TODO(tschaub): make it so this isn't required everywhere
|
||||||
this.resolution_ = map.getResolution();
|
this.projection_ = /** @type {ol.Projection} */ map.getProjection();
|
||||||
|
this.resolution_ = /** @type {number} */ map.getResolution();
|
||||||
|
|
||||||
var features;
|
var features;
|
||||||
if (goog.isArray(geoJson)) {
|
if (goog.isArray(geoJson)) {
|
||||||
@@ -121,12 +144,12 @@ ol.renderer.tile.Canvas.prototype.render = function(geoJson, opt_projection) {
|
|||||||
|
|
||||||
if (features) {
|
if (features) {
|
||||||
//FIXME Support geometry level projections
|
//FIXME Support geometry level projections
|
||||||
// @type {ol.Projection}
|
/** @type {ol.Projection} */
|
||||||
var projection;
|
var projection;
|
||||||
if (goog.isDef(opt_projection)) {
|
if (goog.isDef(opt_projection)) {
|
||||||
projection = opt_projection;
|
projection = opt_projection;
|
||||||
} else {
|
} else {
|
||||||
projection = new ol.Projection('EPSG:4326');
|
projection = ol.Projection.getFromCode('EPSG:4326');
|
||||||
}
|
}
|
||||||
for (var i = 0, ii = features.length; i < ii; ++i) {
|
for (var i = 0, ii = features.length; i < ii; ++i) {
|
||||||
this.renderGeometry(features[i].geometry, projection);
|
this.renderGeometry(features[i].geometry, projection);
|
||||||
@@ -141,7 +164,7 @@ ol.renderer.tile.Canvas.prototype.render = function(geoJson, opt_projection) {
|
|||||||
*/
|
*/
|
||||||
ol.renderer.tile.Canvas.prototype.renderGeometry =
|
ol.renderer.tile.Canvas.prototype.renderGeometry =
|
||||||
function(geometry, projection) {
|
function(geometry, projection) {
|
||||||
var i, coordinates, hole = false;
|
var i, ii, coordinates, hole = false;
|
||||||
if (geometry.type === 'Point') {
|
if (geometry.type === 'Point') {
|
||||||
this.renderPosList([geometry.coordinates],
|
this.renderPosList([geometry.coordinates],
|
||||||
projection, false, false, hole);
|
projection, false, false, hole);
|
||||||
@@ -172,17 +195,18 @@ ol.renderer.tile.Canvas.prototype.renderGeometry =
|
|||||||
* @param {boolean} fill Fill.
|
* @param {boolean} fill Fill.
|
||||||
* @param {boolean} hole Treat as hole.
|
* @param {boolean} hole Treat as hole.
|
||||||
*/
|
*/
|
||||||
ol.renderer.tileCanvas.prototype.renderPosList =
|
ol.renderer.tile.Canvas.prototype.renderPosList =
|
||||||
function(posList, projection, connect, fill, hole) {
|
function(posList, projection, connect, fill, hole) {
|
||||||
var position, coordinate, pixel, localX, localY;
|
var i, ii, position, coordinate, pixel, localX, localY;
|
||||||
if (connect === true) {
|
if (connect === true) {
|
||||||
this.context_.beginPath();
|
this.context_.beginPath();
|
||||||
}
|
}
|
||||||
for (i = 0, ii = posList.length; i < ii; ++i) {
|
for (i = 0, ii = posList.length; i < ii; ++i) {
|
||||||
position = posList[i];
|
position = posList[i];
|
||||||
coordinate = ol.Projection.transform(new ol.Coordinate(
|
coordinate = ol.Projection.transform(new ol.Coordinate(
|
||||||
position[0], position[1]), projection, this.projection);
|
position[0], position[1]), projection, this.projection_);
|
||||||
pixel = this.layerRenderer_.getPixelFromCoordinate(coordinate);
|
var mapRenderer = this.layerRenderer_.getMapRenderer();
|
||||||
|
pixel = mapRenderer.getPixelFromCoordinate(coordinate);
|
||||||
localX = pixel.x - this.originPixel_.x;
|
localX = pixel.x - this.originPixel_.x;
|
||||||
localY = pixel.y - this.originPixel_.y + this.size_.height;
|
localY = pixel.y - this.originPixel_.y + this.size_.height;
|
||||||
if (connect === false && fill === false) {
|
if (connect === false && fill === false) {
|
||||||
|
|||||||
Reference in New Issue
Block a user