Transformed
This commit is contained in:
@@ -1,23 +1,25 @@
|
||||
goog.provide('ol.tilegrid');
|
||||
|
||||
goog.require('ol');
|
||||
goog.require('ol.size');
|
||||
goog.require('ol.extent');
|
||||
goog.require('ol.extent.Corner');
|
||||
goog.require('ol.obj');
|
||||
goog.require('ol.proj');
|
||||
goog.require('ol.proj.Units');
|
||||
goog.require('ol.tilegrid.TileGrid');
|
||||
/**
|
||||
* @module ol/tilegrid
|
||||
*/
|
||||
import _ol_ from './index.js';
|
||||
import _ol_size_ from './size.js';
|
||||
import _ol_extent_ from './extent.js';
|
||||
import _ol_extent_Corner_ from './extent/Corner.js';
|
||||
import _ol_obj_ from './obj.js';
|
||||
import _ol_proj_ from './proj.js';
|
||||
import _ol_proj_Units_ from './proj/Units.js';
|
||||
import _ol_tilegrid_TileGrid_ from './tilegrid/TileGrid.js';
|
||||
var _ol_tilegrid_ = {};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.proj.Projection} projection Projection.
|
||||
* @return {!ol.tilegrid.TileGrid} Default tile grid for the passed projection.
|
||||
*/
|
||||
ol.tilegrid.getForProjection = function(projection) {
|
||||
_ol_tilegrid_.getForProjection = function(projection) {
|
||||
var tileGrid = projection.getDefaultTileGrid();
|
||||
if (!tileGrid) {
|
||||
tileGrid = ol.tilegrid.createForProjection(projection);
|
||||
tileGrid = _ol_tilegrid_.createForProjection(projection);
|
||||
projection.setDefaultTileGrid(tileGrid);
|
||||
}
|
||||
return tileGrid;
|
||||
@@ -30,12 +32,12 @@ ol.tilegrid.getForProjection = function(projection) {
|
||||
* @param {ol.proj.Projection} projection Projection.
|
||||
* @return {ol.TileCoord} Tile coordinate.
|
||||
*/
|
||||
ol.tilegrid.wrapX = function(tileGrid, tileCoord, projection) {
|
||||
_ol_tilegrid_.wrapX = function(tileGrid, tileCoord, projection) {
|
||||
var z = tileCoord[0];
|
||||
var center = tileGrid.getTileCoordCenter(tileCoord);
|
||||
var projectionExtent = ol.tilegrid.extentFromProjection(projection);
|
||||
if (!ol.extent.containsCoordinate(projectionExtent, center)) {
|
||||
var worldWidth = ol.extent.getWidth(projectionExtent);
|
||||
var projectionExtent = _ol_tilegrid_.extentFromProjection(projection);
|
||||
if (!_ol_extent_.containsCoordinate(projectionExtent, center)) {
|
||||
var worldWidth = _ol_extent_.getWidth(projectionExtent);
|
||||
var worldsAway = Math.ceil((projectionExtent[0] - center[0]) / worldWidth);
|
||||
center[0] += worldWidth * worldsAway;
|
||||
return tileGrid.getTileCoordForCoordAndZ(center, z);
|
||||
@@ -55,16 +57,16 @@ ol.tilegrid.wrapX = function(tileGrid, tileCoord, projection) {
|
||||
* ol.extent.Corner.TOP_LEFT).
|
||||
* @return {!ol.tilegrid.TileGrid} TileGrid instance.
|
||||
*/
|
||||
ol.tilegrid.createForExtent = function(extent, opt_maxZoom, opt_tileSize, opt_corner) {
|
||||
_ol_tilegrid_.createForExtent = function(extent, opt_maxZoom, opt_tileSize, opt_corner) {
|
||||
var corner = opt_corner !== undefined ?
|
||||
opt_corner : ol.extent.Corner.TOP_LEFT;
|
||||
opt_corner : _ol_extent_Corner_.TOP_LEFT;
|
||||
|
||||
var resolutions = ol.tilegrid.resolutionsFromExtent(
|
||||
var resolutions = _ol_tilegrid_.resolutionsFromExtent(
|
||||
extent, opt_maxZoom, opt_tileSize);
|
||||
|
||||
return new ol.tilegrid.TileGrid({
|
||||
return new _ol_tilegrid_TileGrid_({
|
||||
extent: extent,
|
||||
origin: ol.extent.getCorner(extent, corner),
|
||||
origin: _ol_extent_.getCorner(extent, corner),
|
||||
resolutions: resolutions,
|
||||
tileSize: opt_tileSize
|
||||
});
|
||||
@@ -77,18 +79,18 @@ ol.tilegrid.createForExtent = function(extent, opt_maxZoom, opt_tileSize, opt_co
|
||||
* @return {!ol.tilegrid.TileGrid} Tile grid instance.
|
||||
* @api
|
||||
*/
|
||||
ol.tilegrid.createXYZ = function(opt_options) {
|
||||
_ol_tilegrid_.createXYZ = function(opt_options) {
|
||||
var options = /** @type {olx.tilegrid.TileGridOptions} */ ({});
|
||||
ol.obj.assign(options, opt_options !== undefined ?
|
||||
_ol_obj_.assign(options, opt_options !== undefined ?
|
||||
opt_options : /** @type {olx.tilegrid.XYZOptions} */ ({}));
|
||||
if (options.extent === undefined) {
|
||||
options.extent = ol.proj.get('EPSG:3857').getExtent();
|
||||
options.extent = _ol_proj_.get('EPSG:3857').getExtent();
|
||||
}
|
||||
options.resolutions = ol.tilegrid.resolutionsFromExtent(
|
||||
options.resolutions = _ol_tilegrid_.resolutionsFromExtent(
|
||||
options.extent, options.maxZoom, options.tileSize);
|
||||
delete options.maxZoom;
|
||||
|
||||
return new ol.tilegrid.TileGrid(options);
|
||||
return new _ol_tilegrid_TileGrid_(options);
|
||||
};
|
||||
|
||||
|
||||
@@ -101,15 +103,15 @@ ol.tilegrid.createXYZ = function(opt_options) {
|
||||
* ol.DEFAULT_TILE_SIZE).
|
||||
* @return {!Array.<number>} Resolutions array.
|
||||
*/
|
||||
ol.tilegrid.resolutionsFromExtent = function(extent, opt_maxZoom, opt_tileSize) {
|
||||
_ol_tilegrid_.resolutionsFromExtent = function(extent, opt_maxZoom, opt_tileSize) {
|
||||
var maxZoom = opt_maxZoom !== undefined ?
|
||||
opt_maxZoom : ol.DEFAULT_MAX_ZOOM;
|
||||
opt_maxZoom : _ol_.DEFAULT_MAX_ZOOM;
|
||||
|
||||
var height = ol.extent.getHeight(extent);
|
||||
var width = ol.extent.getWidth(extent);
|
||||
var height = _ol_extent_.getHeight(extent);
|
||||
var width = _ol_extent_.getWidth(extent);
|
||||
|
||||
var tileSize = ol.size.toSize(opt_tileSize !== undefined ?
|
||||
opt_tileSize : ol.DEFAULT_TILE_SIZE);
|
||||
var tileSize = _ol_size_.toSize(opt_tileSize !== undefined ?
|
||||
opt_tileSize : _ol_.DEFAULT_TILE_SIZE);
|
||||
var maxResolution = Math.max(
|
||||
width / tileSize[0], height / tileSize[1]);
|
||||
|
||||
@@ -132,9 +134,9 @@ ol.tilegrid.resolutionsFromExtent = function(extent, opt_maxZoom, opt_tileSize)
|
||||
* ol.extent.Corner.BOTTOM_LEFT).
|
||||
* @return {!ol.tilegrid.TileGrid} TileGrid instance.
|
||||
*/
|
||||
ol.tilegrid.createForProjection = function(projection, opt_maxZoom, opt_tileSize, opt_corner) {
|
||||
var extent = ol.tilegrid.extentFromProjection(projection);
|
||||
return ol.tilegrid.createForExtent(
|
||||
_ol_tilegrid_.createForProjection = function(projection, opt_maxZoom, opt_tileSize, opt_corner) {
|
||||
var extent = _ol_tilegrid_.extentFromProjection(projection);
|
||||
return _ol_tilegrid_.createForExtent(
|
||||
extent, opt_maxZoom, opt_tileSize, opt_corner);
|
||||
};
|
||||
|
||||
@@ -145,13 +147,14 @@ ol.tilegrid.createForProjection = function(projection, opt_maxZoom, opt_tileSize
|
||||
* @param {ol.ProjectionLike} projection Projection.
|
||||
* @return {ol.Extent} Extent.
|
||||
*/
|
||||
ol.tilegrid.extentFromProjection = function(projection) {
|
||||
projection = ol.proj.get(projection);
|
||||
_ol_tilegrid_.extentFromProjection = function(projection) {
|
||||
projection = _ol_proj_.get(projection);
|
||||
var extent = projection.getExtent();
|
||||
if (!extent) {
|
||||
var half = 180 * ol.proj.METERS_PER_UNIT[ol.proj.Units.DEGREES] /
|
||||
var half = 180 * _ol_proj_.METERS_PER_UNIT[_ol_proj_Units_.DEGREES] /
|
||||
projection.getMetersPerUnit();
|
||||
extent = ol.extent.createOrUpdate(-half, -half, half, half);
|
||||
extent = _ol_extent_.createOrUpdate(-half, -half, half, half);
|
||||
}
|
||||
return extent;
|
||||
};
|
||||
export default _ol_tilegrid_;
|
||||
|
||||
Reference in New Issue
Block a user