Be more consistent with view options
This commit is contained in:
+23
-23
@@ -37,38 +37,38 @@ ol.View2DProperty = {
|
|||||||
* @implements {ol.IView2D}
|
* @implements {ol.IView2D}
|
||||||
* @implements {ol.IView3D}
|
* @implements {ol.IView3D}
|
||||||
* @extends {ol.View}
|
* @extends {ol.View}
|
||||||
* @param {ol.View2DOptions=} opt_view2DOptions View2D options.
|
* @param {ol.View2DOptions=} opt_options View2D options.
|
||||||
*/
|
*/
|
||||||
ol.View2D = function(opt_view2DOptions) {
|
ol.View2D = function(opt_options) {
|
||||||
goog.base(this);
|
goog.base(this);
|
||||||
var view2DOptions = opt_view2DOptions || {};
|
var options = opt_options || {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Object.<string, *>}
|
* @type {Object.<string, *>}
|
||||||
*/
|
*/
|
||||||
var values = {};
|
var values = {};
|
||||||
values[ol.View2DProperty.CENTER] = goog.isDef(view2DOptions.center) ?
|
values[ol.View2DProperty.CENTER] = goog.isDef(options.center) ?
|
||||||
view2DOptions.center : null;
|
options.center : null;
|
||||||
values[ol.View2DProperty.PROJECTION] = ol.projection.createProjection(
|
values[ol.View2DProperty.PROJECTION] = ol.projection.createProjection(
|
||||||
view2DOptions.projection, 'EPSG:3857');
|
options.projection, 'EPSG:3857');
|
||||||
if (goog.isDef(view2DOptions.resolution)) {
|
if (goog.isDef(options.resolution)) {
|
||||||
values[ol.View2DProperty.RESOLUTION] = view2DOptions.resolution;
|
values[ol.View2DProperty.RESOLUTION] = options.resolution;
|
||||||
} else if (goog.isDef(view2DOptions.zoom)) {
|
} else if (goog.isDef(options.zoom)) {
|
||||||
var projectionExtent = values[ol.View2DProperty.PROJECTION].getExtent();
|
var projectionExtent = values[ol.View2DProperty.PROJECTION].getExtent();
|
||||||
var size = Math.max(
|
var size = Math.max(
|
||||||
projectionExtent.maxX - projectionExtent.minX,
|
projectionExtent.maxX - projectionExtent.minX,
|
||||||
projectionExtent.maxY - projectionExtent.minY);
|
projectionExtent.maxY - projectionExtent.minY);
|
||||||
values[ol.View2DProperty.RESOLUTION] =
|
values[ol.View2DProperty.RESOLUTION] =
|
||||||
size / (ol.DEFAULT_TILE_SIZE * Math.pow(2, view2DOptions.zoom));
|
size / (ol.DEFAULT_TILE_SIZE * Math.pow(2, options.zoom));
|
||||||
}
|
}
|
||||||
values[ol.View2DProperty.ROTATION] = view2DOptions.rotation;
|
values[ol.View2DProperty.ROTATION] = options.rotation;
|
||||||
this.setValues(values);
|
this.setValues(values);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {ol.Constraints}
|
* @type {ol.Constraints}
|
||||||
*/
|
*/
|
||||||
this.constraints_ = ol.View2D.createConstraints_(view2DOptions);
|
this.constraints_ = ol.View2D.createConstraints_(options);
|
||||||
|
|
||||||
};
|
};
|
||||||
goog.inherits(ol.View2D, ol.View);
|
goog.inherits(ol.View2D, ol.View);
|
||||||
@@ -419,25 +419,25 @@ ol.View2D.prototype.zoomWithoutConstraints =
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @param {ol.View2DOptions} view2DOptions View2D options.
|
* @param {ol.View2DOptions} options View2D options.
|
||||||
* @return {ol.Constraints} Constraints.
|
* @return {ol.Constraints} Constraints.
|
||||||
*/
|
*/
|
||||||
ol.View2D.createConstraints_ = function(view2DOptions) {
|
ol.View2D.createConstraints_ = function(options) {
|
||||||
var resolutionConstraint;
|
var resolutionConstraint;
|
||||||
if (goog.isDef(view2DOptions.resolutions)) {
|
if (goog.isDef(options.resolutions)) {
|
||||||
resolutionConstraint = ol.ResolutionConstraint.createSnapToResolutions(
|
resolutionConstraint = ol.ResolutionConstraint.createSnapToResolutions(
|
||||||
view2DOptions.resolutions);
|
options.resolutions);
|
||||||
} else {
|
} else {
|
||||||
var maxResolution, numZoomLevels, zoomFactor;
|
var maxResolution, numZoomLevels, zoomFactor;
|
||||||
if (goog.isDef(view2DOptions.maxResolution) &&
|
if (goog.isDef(options.maxResolution) &&
|
||||||
goog.isDef(view2DOptions.numZoomLevels) &&
|
goog.isDef(options.numZoomLevels) &&
|
||||||
goog.isDef(view2DOptions.zoomFactor)) {
|
goog.isDef(options.zoomFactor)) {
|
||||||
maxResolution = view2DOptions.maxResolution;
|
maxResolution = options.maxResolution;
|
||||||
numZoomLevels = view2DOptions.numZoomLevels;
|
numZoomLevels = options.numZoomLevels;
|
||||||
zoomFactor = view2DOptions.zoomFactor;
|
zoomFactor = options.zoomFactor;
|
||||||
} else {
|
} else {
|
||||||
var projectionExtent = ol.projection.createProjection(
|
var projectionExtent = ol.projection.createProjection(
|
||||||
view2DOptions.projection, 'EPSG:3857').getExtent();
|
options.projection, 'EPSG:3857').getExtent();
|
||||||
maxResolution = Math.max(
|
maxResolution = Math.max(
|
||||||
projectionExtent.maxX - projectionExtent.minX,
|
projectionExtent.maxX - projectionExtent.minX,
|
||||||
projectionExtent.maxY - projectionExtent.minY) / ol.DEFAULT_TILE_SIZE;
|
projectionExtent.maxY - projectionExtent.minY) / ol.DEFAULT_TILE_SIZE;
|
||||||
|
|||||||
Reference in New Issue
Block a user