Optional
options: MapOptionsOptional
options: {}Optional
options: MapOptionsOptional
options: {}Allow the map to function with "overlays" only. Defaults to false. If true, the lowest layer in the draw order will act as the base layer. In addition, if set to true, all layers will have isBaseLayer set to false when they are added to the map.
APIProperty: autoUpdateSize {Boolean} Should OpenLayers automatically update the size of the map when the resize event is fired. Default is true.
The currently selected base layer. This determines min/max zoom level, projection, etc.
The current center of the map
List of controls associated with the map.
APIProperty: displayProjection {<OpenLayers.Projection>} Requires proj4js support for projections other than EPSG:4326 or EPSG:900913/EPSG:3857. Projection used by several controls to display data to user. If this property is set, it will be set on any control which has a null displayProjection property at the time the control is added to the map.
The element that contains the map (or an id for that element).
The map is currently being dragged.
APIProperty: eventListeners {Object} If set as an option at construction, the eventListeners object will be registered with <OpenLayers.Events.on>. Object structure must be a listeners object as shown in the example for the events.on method.
An events object that handles all events on the map
APIProperty: fallThrough {Boolean} Should OpenLayers allow events on the map to fall through to other elements on the page, or should it swallow them? (#457) Default is to swallow.
For a base layer that supports it, allow the map resolution to be set to a value between one of the values in the resolutions array. Default is false.
Unique identifier for the map
The element that contains the layers.
The lonlat at which the later container was re-initialized (on-zoom)
Property: layerContainerOriginPx {Object} Cached object representing the layer container origin (in pixels).
Ordered list of layers in the map
APIProperty: maxExtent
{<OpenLayers.Bounds>|Array} If provided as an array, the array
should consist of four values (left, bottom, right, top).
The maximum extent for the map.
Default depends on projection; if this is one of those defined in OpenLayers.Projection.defaults
(EPSG:4326 or web mercator), maxExtent will be set to the value defined there;
else, defaults to null.
To restrict user panning and zooming of the map, use
Property: maxPx {Object} An object with a 'x' and 'y' values that is the top right of maxExtent in viewport pixel space. Used to verify in moveByPx that the new location we're moving to is valid.
Required if you are not displaying the whole world on a tile
with the size specified in
APIProperty: maxScale {Float}
APIProperty: minExtent {<OpenLayers.Bounds>|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.
Property: minPx {Object} An object with a 'x' and 'y' values that is the lower left of maxExtent in viewport pixel space. Used to verify in moveByPx that the new location we're moving to is valid. It is also used in the getLonLatFromViewPortPx function of Layer.
APIProperty: minResolution {Float}
APIProperty: minScale {Float}
APIProperty: numZoomLevels {Integer} Number of zoom levels for the map. Defaults to 16. Set a different value in the map options if needed.
The options object passed to the class constructor. Read-only.
Property: paddingForPopups {<OpenLayers.Bounds>} Outside margin of the popup. Used to prevent the popup from getting too close to the map border.
Property: panDuration {Integer} The number of steps to be passed to the OpenLayers.Tween.start() method when the map is panned. Default is 50.
APIProperty: panMethod {Function} The Easing function to be used for tweening. Default is OpenLayers.Easing.Expo.easeOut. Setting this to 'null' turns off animated panning.
The ratio of the current extent within which panning will tween.
Property: panTween {<OpenLayers.Tween>} Animated panning tween object, see panTo()
List of popups associated with the map
Set in the map options to specify the default projection
for layers added to this map. When using a projection other than EPSG:4326
(CRS:84, Geographic) or EPSG:3857 (EPSG:900913, Web Mercator),
also set maxExtent, maxResolution or resolutions. Default is "EPSG:4326".
Note that the projection of the map is usually determined
by that of the current baseLayer (see
The resolution of the map.
A list of map resolutions (map units per pixel) in descending order. If this is not set in the layer constructor, it will be set based on other resolution related properties (maxExtent, maxResolution, maxScale, etc.).
APIProperty: restrictedExtent 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 on the restricted extent. If you wish to limit the zoom level or resolution, use maxResolution.
Size of the main div (this.div)
APIProperty: theme {String} Relative path to a CSS file from which to load theme styles. Specify null in the map options (e.g. {theme: null}) if you want to get cascading style declarations - by putting links to stylesheets or style declarations directly in your page.
Set in the map options to override the default tile size for this map.
The map units. Possible values are 'degrees' (or 'dd'), 'm', 'ft', 'km', 'mi', 'inches'. Normally taken from the projection. Only required if both map and layers do not define a projection, or if they define a projection which does not define units
The element that represents the map viewport
The current zoom level of the map
Property: zoomDuration {Integer} The number of steps to be passed to the OpenLayers.Tween.start() method when the map is zoomed. Default is 20.
APIProperty: zoomMethod {Function} The Easing function to be used for tweening. Default is OpenLayers.Easing.Quad.easeOut. Setting this to 'null' turns off animated zooming.
Property: zoomTween {<OpenLayers.Tween>} Animated zooming tween object, see zoomTo()
Static
TILE_Static
TILE_APIMethod: addControls Add all of the passed over controls to the map. You can pass over an optional second array with pixel-objects to position the controls. The indices of the two arrays should match and you can add null as pixel for those controls you want to be autopositioned.
Parameters: controls - {Array(<OpenLayers.Control>)} pixels - {Array(<OpenLayers.Pixel>)}
APIMethod: addLayer
Parameters: layer - {<OpenLayers.Layer>}
Returns: {Boolean} True if the layer has been added to the map.
APIMethod: addLayers
Parameters: layers - {Array(<OpenLayers.Layer>)}
APIMethod: addPopup
Parameters: popup - {<OpenLayers.Popup>} exclusive - {Boolean} If true, closes all other popups first
Optional
exclusive: booleanMethod: calculateBounds
Parameters: center - {<OpenLayers.LonLat>} Default is this.getCenter() resolution - {float} Default is this.getResolution()
Returns: {<OpenLayers.Bounds>} A bounds based on resolution, center, and current mapsize.
Optional
center: LonLatOptional
resolution: numberAPIMethod: destroy Destroy this map. Note that if you are using an application which removes a container of the map from the DOM, you need to ensure that you destroy the map before this happens; otherwise, the page unload handler will fail because the DOM elements that map.destroy() wants to clean up will be gone. (See http://trac.osgeo.org/openlayers/ticket/2277 for more information). This will apply to GeoExt and also to other applications which modify the DOM of the container of the OpenLayers Map.
APIMethod: getBy Get a list of objects given a property and a match item.
Parameters: array - {String} A property on the map whose value is an array. property - {String} A property on each item of the given array. match - {String | Object} A string to match. Can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if match.test(map[array][i][property]) evaluates to true, the item will be included in the array returned. If no items are found, an empty array is returned.
Returns: {Array} An array of items where the given property matches the given criteria.
APIMethod: getBy Get a list of objects given a property and a match item.
Parameters: array - {String} A property on the map whose value is an array. property - {String} A property on each item of the given array. match - {String | Object} A string to match. Can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if match.test(map[array][i][property]) evaluates to true, the item will be included in the array returned. If no items are found, an empty array is returned.
Returns: {Array} An array of items where the given property matches the given criteria.
APIMethod: getCenter
Returns: {<OpenLayers.LonLat>}
APIMethod: getControl
Parameters: id - {String} ID of the control to return.
Returns: {<OpenLayers.Control>} The control from the map's list of controls which has a matching 'id'. If none found, returns null.
APIMethod: getControlsByClass Get a list of controls of a given class (CLASS_NAME).
Parameters: match - {String | Object} A control class name. The match can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if type.test(control.CLASS_NAME) evaluates to true, the control will be included in the list of controls returned. If no controls are found, an empty array is returned.
Returns: {Array(<OpenLayers.Control>)} A list of controls matching the given class. An empty array is returned if no matches are found.
APIMethod: getControlsByClass Get a list of controls of a given class (CLASS_NAME).
Parameters: match - {String | Object} A control class name. The match can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if type.test(control.CLASS_NAME) evaluates to true, the control will be included in the list of controls returned. If no controls are found, an empty array is returned.
Returns: {Array(<OpenLayers.Control>)} A list of controls matching the given class. An empty array is returned if no matches are found.
APIMethod: getExtent
Returns: {<OpenLayers.Bounds>} A Bounds object which represents the lon/lat bounds of the current viewPort. If no baselayer is set, returns null.
APIMethod: getLayer Get a layer based on its id
Parameters: id - {String} A layer id
Returns: {<OpenLayers.Layer>} The Layer with the corresponding id from the map's layer collection, or null if not found.
APIMethod: getLayerIndex
Parameters: layer - {<OpenLayers.Layer>}
Returns: {Integer} The current (zero-based) index of the given layer in the map's layer stack. Returns -1 if the layer isn't on the map.
APIMethod: getLayersBy Get a list of layers with properties matching the given criteria.
Parameters: property - {String} A layer property to be matched. match - {String | Object} A string to match. Can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if match.test(layer[property]) evaluates to true, the layer will be included in the array returned. If no layers are found, an empty array is returned.
Returns: {Array(<OpenLayers.Layer>)} A list of layers matching the given criteria. An empty array is returned if no matches are found.
APIMethod: getLayersBy Get a list of layers with properties matching the given criteria.
Parameters: property - {String} A layer property to be matched. match - {String | Object} A string to match. Can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if match.test(layer[property]) evaluates to true, the layer will be included in the array returned. If no layers are found, an empty array is returned.
Returns: {Array(<OpenLayers.Layer>)} A list of layers matching the given criteria. An empty array is returned if no matches are found.
APIMethod: getLayersByClass Get a list of layers of a given class (CLASS_NAME).
Parameters: match - {String | Object} A layer class name. The match can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if type.test(layer.CLASS_NAME) evaluates to true, the layer will be included in the list of layers returned. If no layers are found, an empty array is returned.
Returns: {Array(<OpenLayers.Layer>)} A list of layers matching the given class. An empty array is returned if no matches are found.
APIMethod: getLayersByClass Get a list of layers of a given class (CLASS_NAME).
Parameters: match - {String | Object} A layer class name. The match can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if type.test(layer.CLASS_NAME) evaluates to true, the layer will be included in the list of layers returned. If no layers are found, an empty array is returned.
Returns: {Array(<OpenLayers.Layer>)} A list of layers matching the given class. An empty array is returned if no matches are found.
APIMethod: getLayersByName Get a list of layers with names matching the given name.
Parameters: match - {String | Object} A layer name. The name can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if name.test(layer.name) evaluates to true, the layer will be included in the list of layers returned. If no layers are found, an empty array is returned.
Returns: {Array(<OpenLayers.Layer>)} A list of layers matching the given name. An empty array is returned if no matches are found.
APIMethod: getLayersByName Get a list of layers with names matching the given name.
Parameters: match - {String | Object} A layer name. The name can also be a regular expression literal or object. In addition, it can be any object with a method named test. For reqular expressions or other, if name.test(layer.name) evaluates to true, the layer will be included in the list of layers returned. If no layers are found, an empty array is returned.
Returns: {Array(<OpenLayers.Layer>)} A list of layers matching the given name. An empty array is returned if no matches are found.
APIMethod: getLonLatFromPixel
Parameters: px - {<OpenLayers.Pixel>|Object} An OpenLayers.Pixel or an object with a 'x' and 'y' properties.
Returns: {<OpenLayers.LonLat>} An OpenLayers.LonLat corresponding to the given OpenLayers.Pixel, translated into lon/lat by the current base layer
APIMethod: getLonLatFromPixel
Parameters: px - {<OpenLayers.Pixel>|Object} An OpenLayers.Pixel or an object with a 'x' and 'y' properties.
Returns: {<OpenLayers.LonLat>} An OpenLayers.LonLat corresponding to the given OpenLayers.Pixel, translated into lon/lat by the current base layer
Method: getLonLatFromViewPortPx
Parameters: viewPortPx - {<OpenLayers.Pixel>|Object} An OpenLayers.Pixel or an object with a 'x' and 'y' properties.
Returns: {<OpenLayers.LonLat>} An OpenLayers.LonLat which is the passed-in view port <OpenLayers.Pixel>, translated into lon/lat by the current base layer.
APIMethod: getMaxExtent
Parameters: options - {Object}
Allowed Options: restricted - {Boolean} If true, returns restricted extent (if it is available.)
Returns: {<OpenLayers.Bounds>} The maxExtent property as set on the current baselayer, unless the 'restricted' option is set, in which case the 'restrictedExtent' option from the map is returned (if it is set).
APIMethod: getMaxResolution
Returns: {String} The Map's Maximum Resolution
APIMethod: getMinZoom
Returns the minimum zoom level for the current map view. If the base
layer is configured with
Returns:
{Number} Minimum zoom level that shows a map not wider than its
APIMethod: getNumLayers
Returns: {Int} The number of layers attached to the map.
APIMethod: getNumZoomLevels
Returns: {Integer} The total number of zoom levels that can be displayed by the current baseLayer.
APIMethod: getPixelFromLonLat Returns a pixel location given a map location. The map location is translated to an integer pixel location (in viewport pixel coordinates) by the current base layer.
Parameters: lonlat - {<OpenLayers.LonLat>} A map location.
Returns: {<OpenLayers.Pixel>} An OpenLayers.Pixel corresponding to the <OpenLayers.LonLat> translated into view port pixels by the current base layer.
APIMethod: getProjection This method returns a string representing the projection. In the case of projection support, this will be the srsCode which is loaded -- otherwise it will simply be the string value that was passed to the projection at startup.
Returns: {String} The Projection string from the base layer or null.
APIMethod: getProjectionObject Returns the projection obect from the baselayer.
Returns: {<OpenLayers.Projection>} The Projection of the base layer.
APIMethod: getResolution
Returns: {Float} The current resolution of the map. If no baselayer is set, returns null.
APIMethod: getResolutionForZoom
Parameters: zoom - {Float}
Returns: {Float} A suitable resolution for the specified zoom. If no baselayer is set, returns null.
APIMethod: getScale
Returns: {Float} The current scale denominator of the map. If no baselayer is set, returns null.
APIMethod: getSize
Returns: {<OpenLayers.Size>} An <OpenLayers.Size> object that represents the size, in pixels, of the div into which OpenLayers has been loaded. Note - A clone() of this locally cached variable is returned, so as not to allow users to modify it.
APIMethod: getTileSize Get the tile size for the map
Returns: {<OpenLayers.Size>}
APIMethod: getUnits
Returns: {Float} The current units of the map. If no baselayer is set, returns null.
APIMethod: getViewport Get the DOMElement representing the view port.
Returns: {DOMElement}
APIMethod: getZoom
Returns: {Integer}
APIMethod: getZoomForExtent
Parameters: bounds - {<OpenLayers.Bounds>} 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. Default is false.
Returns: {Integer} A suitable zoom level for the specified bounds. If no baselayer is set, returns null.
Optional
closest: booleanAPIMethod: getZoomForResolution
Parameters: resolution - {Float} closest - {Boolean} Find the zoom level that corresponds to the absolute closest resolution, which may result in a zoom whose corresponding resolution is actually smaller than we would have desired (if this is being called from a getZoomForExtent() call, then this means that the returned zoom index might not actually contain the entire extent specified... but it'll be close). Default is false.
Returns: {Integer} A suitable zoom level for the specified resolution. If no baselayer is set, returns null.
Optional
closest: booleanMethod: isValidLonLat
Parameters: lonlat - {<OpenLayers.LonLat>}
Returns: {Boolean} Whether or not the lonlat passed in is non-null and within the maxExtent bounds
Method: moveTo
Parameters: lonlat - {<OpenLayers.LonLat>} zoom - {Integer} options - {Object}
Optional
zoom: numberOptional
options: {}APIMethod: pan Allows user to pan by a value of screen pixels
Parameters: dx - {Integer} dy - {Integer} options - {Object} Options to configure panning:
Optional
options: { animate?: boolean; dragging?: boolean }APIMethod: panTo Allows user to pan to a new lonlat If the new lonlat is in the current extent the map will slide smoothly
Parameters: lonlat - {<OpenLayers.LonLat>}
APIMethod: raiseLayer Change the index of the given layer by delta. If delta is positive, the layer is moved up the map's layer stack; if delta is negative, the layer is moved down. Again, note that this cannot (or at least should not) be effectively used to raise base layers above overlays.
Paremeters: layer - {<OpenLayers.Layer>} delta - {int}
APIMethod: removeControl Remove a control from the map. Removes the control both from the map object's internal array of controls, as well as from the map's viewPort (assuming the control was not added outsideViewport)
Parameters: control - {<OpenLayers.Control>} The control to remove.
APIMethod: removeLayer Removes a layer from the map by removing its visual element (the layer.div property), then removing it from the map's internal list of layers, setting the layer's map property to null.
a "removelayer" event is triggered.
very worthy of mention is that simply removing a layer from a map will not cause the removal of any popups which may have been created by the layer. this is due to the fact that it was decided at some point that popups would not belong to layers. thus there is no way for us to know here to which layer the popup belongs.
A simple solution to this is simply to call destroy() on the layer. the default OpenLayers.Layer class's destroy() function automatically takes care to remove itself from whatever map it has been attached to.
The correct solution is for the layer itself to register an event-handler on "removelayer" and when it is called, if it recognizes itself as the layer being removed, then it cycles through its own personal list of popups, removing them from the map.
Parameters: layer - {<OpenLayers.Layer>} setNewBaseLayer - {Boolean} Default is true
Optional
setNewBaseLayer: booleanAPIMethod: render Render the map to a specified container.
Parameters: div - {String|DOMElement} The container that the map should be rendered to. If different than the current container, the map viewport will be moved from the current to the new container.
APIMethod: render Render the map to a specified container.
Parameters: div - {String|DOMElement} The container that the map should be rendered to. If different than the current container, the map viewport will be moved from the current to the new container.
APIMethod: setBaseLayer Allows user to specify one of the currently-loaded layers as the Map's new base layer.
Parameters: newBaseLayer - {<OpenLayers.Layer>}
APIMethod: setCenter Set the map center (and optionally, the zoom level).
Parameters: lonlat - {<OpenLayers.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 forceZoomChange - {Boolean} Specifies whether or not to trigger zoom change events (needed on baseLayer change)
Optional
zoom: numberOptional
dragging: booleanOptional
forceZoomChange: booleanAPIMethod: setCenter Set the map center (and optionally, the zoom level).
Parameters: lonlat - {<OpenLayers.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 forceZoomChange - {Boolean} Specifies whether or not to trigger zoom change events (needed on baseLayer change)
Optional
zoom: numberOptional
dragging: booleanOptional
forceZoomChange: booleanAPIMethod: setLayerIndex Move the given layer to the specified (zero-based) index in the layer list, changing its z-index in the map display. Use map.getLayerIndex() to find out the current index of a layer. Note that this cannot (or at least should not) be effectively used to raise base layers above overlays.
Parameters: layer - {<OpenLayers.Layer>} idx - {int}
APIMethod: setLayerIndex Move the given layer to the specified (zero-based) index in the layer list, changing its z-index in the map display. Use map.getLayerIndex() to find out the current index of a layer. Note that this cannot (or at least should not) be effectively used to raise base layers above overlays.
Parameters: layer - {<OpenLayers.Layer>} idx - {int}
Method: setLayerZIndex
Parameters: layer - {<OpenLayers.Layer>} zIdx - {int}
APIMethod: setOptions Change the map options
Parameters: options - {Object} Hashtable of options to tag to the map
APIMethod: updateSize This function should be called by any external code which dynamically changes the size of the map div (because mozilla wont let us catch the "onresize" for an element)
APIMethod: zoomIn
APIMethod: zoomOut
APIMethod: zoomTo
Zoom to a specific zoom level. Zooming will be animated unless the map
is configured with {zoomMethod: null}. To zoom without animation, use
Parameters: zoom - {Integer}
APIMethod: zoomToExtent Zoom to the passed in bounds, recenter
Parameters: bounds - {<OpenLayers.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. Default is false.
Optional
closest: booleanAPIMethod: zoomToMaxExtent Zoom to the full extent and recenter.
Parameters: options - {Object}
Allowed Options: restricted - {Boolean} True to zoom to restricted extent if it is set. Defaults to true.
Optional
options: { restricted: boolean }APIMethod: zoomToScale Zoom to a specified scale
Parameters: scale - {float} closest - {Boolean} Find the zoom level that most closely fits the specified scale. Note that this may result in a zoom that does not exactly contain the entire extent. Default is false.
Constructor: OpenLayers.Map Constructor for a new OpenLayers.Map instance. There are two possible ways to call the map constructor. See the examples below.
Parameters: div - {DOMElement|String} The element or id of an element in your page that will contain the map. May be omitted if the
Valid options (in addition to the listed API properties): center - {<OpenLayers.LonLat>|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.
Examples: (code) // create a map with default options in an element with the id "map1" var map = new OpenLayers.Map("map1");
// 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), 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, // a restricted extent, and using arrays for bounds and center var map = new OpenLayers.Map({ div: "map_id", 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({ projection: "EPSG:3857", maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000) }); (end)
Parameters
Optional
options: MapOptionsReturns Map