diff --git a/lib/OpenLayers/BaseTypes/Bounds.js b/lib/OpenLayers/BaseTypes/Bounds.js index 5dd6d2c906..a4fee70554 100644 --- a/lib/OpenLayers/BaseTypes/Bounds.js +++ b/lib/OpenLayers/BaseTypes/Bounds.js @@ -56,15 +56,19 @@ OpenLayers.Bounds = OpenLayers.Class({ /** * Constructor: OpenLayers.Bounds - * Construct a new bounds object. + * Construct a new bounds object. Coordinates can either be passed as four + * arguments, or as a single argument. * - * Parameters: + * Parameters (four arguments): * left - {Number} The left bounds of the box. Note that for width * calculations, this is assumed to be less than the right value. * bottom - {Number} The bottom bounds of the box. Note that for height * calculations, this is assumed to be more than the top value. * right - {Number} The right bounds. * top - {Number} The top bounds. + * + * Parameters (single argument): + * bounds - {Array(Number)} [left, bottom, right, top] */ initialize: function(left, bottom, right, top) { if (OpenLayers.Util.isArray(left)) { diff --git a/lib/OpenLayers/BaseTypes/LonLat.js b/lib/OpenLayers/BaseTypes/LonLat.js index 243e75338d..ed274225c4 100644 --- a/lib/OpenLayers/BaseTypes/LonLat.js +++ b/lib/OpenLayers/BaseTypes/LonLat.js @@ -27,15 +27,19 @@ OpenLayers.LonLat = OpenLayers.Class({ /** * Constructor: OpenLayers.LonLat - * Create a new map location. + * Create a new map location. Coordinates can be passed either as two + * arguments, or as a single argument. * - * Parameters: + * Parameters (two arguments): * lon - {Number} The x-axis coordinate in map units. If your map is in * a geographic projection, this will be the Longitude. Otherwise, * it will be the x coordinate of the map location in your map units. * lat - {Number} The y-axis coordinate in map units. If your map is in * a geographic projection, this will be the Latitude. Otherwise, * it will be the y coordinate of the map location in your map units. + * + * Parameters (single argument): + * location - {Array(Float)} [lon, lat] */ initialize: function(lon, lat) { if (OpenLayers.Util.isArray(lon)) { diff --git a/lib/OpenLayers/Layer.js b/lib/OpenLayers/Layer.js index 788b6e7633..cbaf8e5c16 100644 --- a/lib/OpenLayers/Layer.js +++ b/lib/OpenLayers/Layer.js @@ -229,7 +229,11 @@ OpenLayers.Layer = OpenLayers.Class({ /** * APIProperty: maxExtent - * {} The center of these bounds will not stray outside + * {|Array} If provided as an array, the array + * should consist of four values (left, bottom, right, top). + * The maximum extent for the layer. Defaults to null. + * + * The center of these bounds will not stray outside * of the viewport extent during panning. In addition, if * is set to false, data will not be * requested that falls completely outside of these bounds. @@ -238,7 +242,9 @@ OpenLayers.Layer = OpenLayers.Class({ /** * APIProperty: minExtent - * {} + * {|Array} If provided as an array, the array + * should consist of four values (left, bottom, right, top). + * The minimum extent for the layer. Defaults to null. */ minExtent: null, diff --git a/lib/OpenLayers/Map.js b/lib/OpenLayers/Map.js index 4c079f43b6..02507ad00f 100644 --- a/lib/OpenLayers/Map.js +++ b/lib/OpenLayers/Map.js @@ -307,7 +307,9 @@ OpenLayers.Map = OpenLayers.Class({ /** * APIProperty: maxExtent - * {} The maximum extent for the map. Defaults to the + * {|Array} If provided as an array, the array + * should consist of four values (left, bottom, right, top). + * The maximum extent for the map. Defaults to the * whole world in decimal degrees (-180, -90, 180, 90). Specify a * different extent in the map options if you are not using a geographic * projection and displaying the whole world. To restrict user panning @@ -318,13 +320,17 @@ OpenLayers.Map = OpenLayers.Class({ /** * APIProperty: minExtent - * {} + * {|Array} If provided as an array, the array + * should consist of four values (left, bottom, right, top). + * The minimum extent for the map. Defaults to null. */ minExtent: null, /** * APIProperty: restrictedExtent - * {} Limit map navigation to this extent where possible. + * {|Array} If provided as an array, the array + * should consist of four values (left, bottom, right, top). + * Limit map navigation to this extent where possible. * If a non-null restrictedExtent is set, panning will be restricted * to the given bounds. In addition, zooming to a resolution that * displays more than the restricted extent will center the map @@ -436,6 +442,24 @@ OpenLayers.Map = OpenLayers.Class({ * provided or if you intend to call the method later. * options - {Object} Optional object with properties to tag onto the map. * + * Valid options (in addition to the listed API properties): + * center - {|Array} The default initial center of the map. + * If provided as array, the first value is the x coordinate, + * and the 2nd value is the y coordinate. + * Only specify if is provided. + * Note that if an ArgParser/Permalink control is present, + * and the querystring contains coordinates, center will be set + * by that, and this option will be ignored. + * zoom - {Number} The initial zoom level for the map. Only specify if + * is provided. + * Note that if an ArgParser/Permalink control is present, + * and the querystring contains a zoom level, zoom will be set + * by that, and this option will be ignored. + * extent - {|Array} The initial extent of the map. + * If provided as an array, the array should consist of + * four values (left, bottom, right, top). + * Only specify if
and are not provided. + * * Examples: * (code) * // create a map with default options in an element with the id "map1" @@ -443,28 +467,26 @@ OpenLayers.Map = OpenLayers.Class({ * * // create a map with non-default options in an element with id "map2" * var options = { + * projection: "EPSG:3857", * maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000), - * maxResolution: 156543, - * units: 'm', - * projection: "EPSG:41001" + * center: new OpenLayers.LonLat(-12356463.476333, 5621521.4854095) * }; * var map = new OpenLayers.Map("map2", options); * - * // map with non-default options - same as above but with a single argument + * // map with non-default options - same as above but with a single argument, + * // a restricted extent, and using arrays for bounds and center * var map = new OpenLayers.Map({ * div: "map_id", - * maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000), - * maxResolution: 156543, - * units: 'm', - * projection: "EPSG:41001" + * projection: "EPSG:3857", + * maxExtent: [-18924313.432222, -15538711.094146, 18924313.432222, 15538711.094146], + * restrictedExtent: [-13358338.893333, -9608371.5085962, 13358338.893333, 9608371.5085962], + * center: [-12356463.476333, 5621521.4854095] * }); * * // create a map without a reference to a container - call render later * var map = new OpenLayers.Map({ - * maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000), - * maxResolution: 156543, - * units: 'm', - * projection: "EPSG:41001" + * projection: "EPSG:3857", + * maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000) * }); * (end) */ @@ -500,6 +522,9 @@ OpenLayers.Map = OpenLayers.Class({ if (this.maxExtent && !(this.maxExtent instanceof OpenLayers.Bounds)) { this.maxExtent = new OpenLayers.Bounds(this.maxExtent); } + if (this.minExtent && !(this.minExtent instanceof OpenLayers.Bounds)) { + this.minExtent = new OpenLayers.Bounds(this.minExtent); + } if (this.restrictedExtent && !(this.restrictedExtent instanceof OpenLayers.Bounds)) { this.restrictedExtent = new OpenLayers.Bounds(this.restrictedExtent); } @@ -625,7 +650,7 @@ OpenLayers.Map = OpenLayers.Class({ if (options && options.layers) { /** * If you have set options.center, the map center property will be - * set at this point. However, since setCenter has not been caleld, + * set at this point. However, since setCenter has not been called, * addLayers gets confused. So we delete the map center in this * case. Because the check below uses options.center, it will * be properly set below. @@ -1662,7 +1687,9 @@ OpenLayers.Map = OpenLayers.Class({ * Set the map center (and optionally, the zoom level). * * Parameters: - * lonlat - {} The new center location. + * lonlat - {|Array} The new center location. + * If provided as array, the first value is the x coordinate, + * and the 2nd value is the y coordinate. * zoom - {Integer} Optional zoom level. * dragging - {Boolean} Specifies whether or not to trigger * movestart/end events @@ -2282,7 +2309,8 @@ OpenLayers.Map = OpenLayers.Class({ * Zoom to the passed in bounds, recenter * * Parameters: - * bounds - {} + * bounds - {|Array} If provided as an array, the array + * should consist of four values (left, bottom, right, top). * closest - {Boolean} Find the zoom level that most closely fits the * specified bounds. Note that this may result in a zoom that does * not exactly contain the entire extent.