Map Suite MVC Edition JavaScript Reference

This document defines the client JavaScript functions that are applied to the Map's name. In other words, if you add an MVC Edition map control named "Map1" to the view page, then you would call these functions like "Map1.functionName()". For example: Map1.getLayer('layerId').

(Note: For more details, please reference the OpenLayers API Documentation).

Summary
Map's Name  
Constants
EVENT_TYPES {Array(String)} Supported application event types.
Properties
id {String} Unique identifier for the map
events {OpenLayers.Events} An events object that handles all events on the map
div {DOMElement|String} The element that contains the map (or an id for that element).
dragging {Boolean} The map is currently being dragged.
size {OpenLayers.Size} Size of the main div (this.div)
layers {Array(OpenLayers.Layer)} Ordered list of layers in the map
controls {Array(OpenLayers.Control)} List of controls associated with the map.
popups {Array(OpenLayers.Popup)} List of popups associated with the map
baseLayer {OpenLayers.Layer} The currently selected base layer.
center {OpenLayers.LonLat} The current center of the map
resolution {Float} The resolution of the map.
zoom {Integer} The current zoom level of the map
tileSize {OpenLayers.Size} Set in the map options to override the default tile size for this map.
projection {String} Set in the map options to override the default projection string this map - also set maxExtent, maxResolution, and units if appropriate.
units {String} The map units.
resolutions {Array(Float)} A list of map resolutions (map units per pixel) in descending order.
maxResolution {Float} Default max is 360 deg / 256 px, which corresponds to zoom level 0 on gmaps.
minResolution {Float}
maxScale {Float}
minScale {Float}
maxExtent {OpenLayers.Bounds} The maximum extent for the map.
minExtent {OpenLayers.Bounds}
restrictedExtent {OpenLayers.Bounds} Limit map navigation to this extent where possible.
numZoomLevels {Integer} Number of zoom levels for the map.
theme {String} Relative path to a CSS file from which to load theme styles.
displayProjection {OpenLayers.Projection} Requires proj4js support.Projection used by several controls to display data to user.
fallThrough {Boolean} Should OpenLayers allow events on the map to fall through to other elements on the page, or should it swallow them? 
panDuration {Integer} The number of steps to be passed to the OpenLayers.Tween.start() method when the map is panned.
paddingForPopups {OpenLayers.Bounds} Outside margin of the popup.
Functions
getLayersBy Get a list of layers with properties matching the given criteria.
getLayersByName Get a list of layers with names matching the given name.
getLayersByClass Get a list of layers of a given class (CLASS_NAME).
getControlsBy Get a list of controls with properties matching the given criteria.
getControlsByClass Get a list of controls of a given class (CLASS_NAME).
getLayer Get a layer based on its id
setLayerZIndex
resetLayersZIndex Reset each layer’s z-index based on layer’s array index
addLayer
addLayers
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.
getNumLayers {Int} The number of layers attached to the map.
getLayerIndex
setLayerIndex Move the given layer to the specified (zero-based) index in the layer list, changing its z-index in the map display.
setBaseLayer Allows user to specify one of the currently-loaded layers as the Map’s new base layer.
addControl Add the passed over control to the map.
addControls Add all of the passed over controls to the map.
getControl
removeControl Remove a control from the map.
addPopup
removePopup
getSize {OpenLayers.Size} An OpenLayers.Size object that represents the size, in pixels, of the div into which OpenLayers has been loaded.
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)
getCenter {OpenLayers.LonLat}
getZoom {Integer}
pan Allows user to pan by a value of screen pixels
panTo Allows user to pan to a new lonlat If the new lonlat is in the current extent the map will slide smoothly
setCenter Set the map center (and optionally, the zoom level).
moveByPx Drag the map by pixels.
moveTo
isValidZoomLevel
isValidLonLat
getProjection This method returns a string representing the projection.
getMaxResolution {String} The Map’s Maximum Resolution
getMaxExtent
getNumZoomLevels {Integer} The total number of zoom levels that can be displayed by the current baseLayer.
getExtent {OpenLayers.Bounds} A Bounds object which represents the lon/lat bounds of the current viewPort.
getResolution {Float} The current resolution of the map.
getUnits {Float} The current units of the map.
getScale {Float} The current scale denominator of the map.
getZoomForExtent
getResolutionForZoom
getZoomForResolution
zoomTo Zoom to a specific zoom level
zoomIn
zoomOut
zoomToExtent Zoom to the passed in bounds, recenter
zoomToMaxExtent Zoom to the full extent and recenter.
zoomToScale Zoom to a specified scale
getLonLatFromViewPortPx
getViewPortPxFromLonLat
getLonLatFromPixel
getPixelFromLonLat Returns a pixel location given a map location.
getViewPortPxFromLayerPx
getLayerPxFromViewPortPx
getLonLatFromLayerPx
getLayerPxFromLonLat
getMapTools gets the map tools object which is corresponding to the MapTools of the map on server side.
getMapParser gets the mapParser which is used to convert the Map JSON string to cient map object.
toggleExtent Toggle the map between the previous and the next extent.
setDrawMode Set the map mode by the drawMode parameter.
resetLayerZIndex reset the z-index of each layers in the map.
setMeasureMode sets the measure mode of the measure tool, it can be any of “PathMeasure”, “PolygonMeasure” or “Normal”.
setEditSetting Set current map edit mode to Reshape|Rotate|Resize|Drag mode.
clearEditingFeatures Clear all features drawn on the map.
cancelLatestFeature Delete the latest drawn feature.
printMap Print the current map.
redrawLayer Redraws the layer which is specifed by the id.
setCurrentBackgroundMapType Change current OpenLayers third part layer’s type.
redrawBackgound refresh the map's background.
ajaxCallAction Performs an asynchronous HTTP (Ajax) request to an action of the specified controller with parameters in JSON format.
ajaxCall This is the override for function ajaxCallAction, it performs an asynchronous HTTP (Ajax) request to an action of the specified controller with parameters in JSON format.
getFeaturesFromJson get the features from the specified Json.
getEditFeaturesInJson Gets the drawn geometries from EditOverlay in JSON format.
getStaticOverlay Gets the layer which is corresponding to the StaticOverlay of the map on server side.
getDynamicOverlay Gets the layer which is corresponding to the DyanmicOverlay of the map on server side.
getMarkerOverlay Gets the marker layer which is corresponding to the MarkerOverlay of the map on server side.
getEditOverlay Gets the vector layer for editing, it's corresponding to the EditOverlay of the map on server side.
getHighlightOverlay Gets the layer which is used to render the HighlightOverlay of the map on server side.
getAdornmentOverlay Gets the layer which is corresponding to the AdornmentOverlay of the map on server side.
Enumerations
EditSettings It just can be used when the map is in editing state.
MouseCoordinateType Represents the mouse coodrdinates format supported.
Constants
TILE_WIDTH {Integer} 256 Default tile width (unless otherwise specified)
TILE_HEIGHT {Integer} 256 Default tile height (unless otherwise specified)

Constants

EVENT_TYPES

{Array(String)} Supported application event types.  Register a listener for a particular event with the following syntax:

map.events.register(type, obj, listener);

Listeners will be called with a reference to an event object.  The properties of this event depends on exactly what happened.

All event objects have at least the following properties

  • object {Object} A reference to map.events.object.
  • element {DOMElement} A reference to map.events.element.

Browser events have the following additional properties

  • xy {OpenLayers.Pixel} The pixel location of the event (relative to the the map viewport).
  • other properties that come with browser events

Supported map event types

  • preaddlayer triggered before a layer has been added.  The event object will include a layer property that references the layer to be added.  When a listener returns “false” the adding will be aborted.
  • addlayer triggered after a layer has been added.  The event object will include a layer property that references the added layer.
  • preremovelayer triggered before a layer has been removed.  The event object will include a layer property that references the layer to be removed.  When a listener returns “false” the removal will be aborted.
  • removelayer triggered after a layer has been removed.  The event object will include a layer property that references the removed layer.
  • changelayer triggered after a layer name change, order change, opacity change, params change, visibility change (due to resolution thresholds) or attribution change (due to extent change).  Listeners will receive an event object with layer and property properties.  The layer property will be a reference to the changed layer.  The property property will be a key to the changed property (name, order, opacity, params, visibility or attribution).
  • movestart triggered after the start of a drag, pan, or zoom
  • move triggered after each drag, pan, or zoom
  • moveend triggered after a drag, pan, or zoom completes
  • zoomend triggered after a zoom completes
  • mouseover triggered after mouseover the map
  • mouseout triggered after mouseout the map
  • mousemove triggered after mousemove the map
  • changebaselayer triggered after the base layer changes

Properties

id

{String} Unique identifier for the map

events

{OpenLayers.Events} An events object that handles all events on the map

div

{DOMElement|String} The element that contains the map (or an id for that element).  If the OpenLayers.Map constructor is called with two arguments, this should be provided as the first argument.  Alternatively, the map constructor can be called with the options object as the only argument.  In this case (one argument), a div property may or may not be provided.  If the div property is not provided, the map can be rendered to a container later using the render method.

Note

If you are calling render after map construction, do not use maxResolution auto.  Instead, divide your maxExtent by your maximum expected dimension.

dragging

{Boolean} The map is currently being dragged.

size

{OpenLayers.Size} Size of the main div (this.div)

layers

{Array(OpenLayers.Layer)} Ordered list of layers in the map

controls

{Array(OpenLayers.Control)} List of controls associated with the map.

If not provided in the map options at construction, the map will be given the following controls by default:

  • OpenLayers.Control.Navigation
  • OpenLayers.Control.PanZoom
  • OpenLayers.Control.ArgParser
  • OpenLayers.Control.Attribution

popups

{Array(OpenLayers.Popup)} List of popups associated with the map

baseLayer

{OpenLayers.Layer} The currently selected base layer.  This determines min/max zoom level, projection, etc.

center

{OpenLayers.LonLat} The current center of the map

resolution

{Float} The resolution of the map.

zoom

{Integer} The current zoom level of the map

tileSize

{OpenLayers.Size} Set in the map options to override the default tile size for this map.

projection

{String} Set in the map options to override the default projection string this map - also set maxExtent, maxResolution, and units if appropriate.  Default is “EPSG:4326”.

units

{String} The map units.  Defaults to ‘degrees’.  Possible values are ‘degrees’ (or ‘dd’), ‘m’, ‘ft’, ‘km’, ‘mi’, ‘inches’.

resolutions

{Array(Float)} 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.).

maxResolution

{Float} Default max is 360 deg / 256 px, which corresponds to zoom level 0 on gmaps.  Specify a different value in the map options if you are not using a geographic projection and displaying the whole world.

minResolution

{Float}

maxScale

{Float}

minScale

{Float}

maxExtent

{OpenLayers.Bounds} 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.

minExtent

{OpenLayers.Bounds}

restrictedExtent

{OpenLayers.Bounds} 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.

numZoomLevels

{Integer} Number of zoom levels for the map.  Defaults to 16.  Set a different value in the map options if needed.

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.

displayProjection

{OpenLayers.Projection} Requires proj4js support.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.

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 fall through.

panDuration

{Integer} The number of steps to be passed to the OpenLayers.Tween.start() method when the map is panned.  Default is 50.

paddingForPopups

{OpenLayers.Bounds} Outside margin of the popup.  Used to prevent the popup from getting too close to the map border.

Functions

getLayersBy

getLayersBy: function( property,
match )

Get a list of layers with properties matching the given criteria.

Parameter

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.

getLayersByName

getLayersByName: function( match )

Get a list of layers with names matching the given name.

Parameter

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.

getLayersByClass

getLayersByClass: function( match )

Get a list of layers of a given class (CLASS_NAME).

Parameter

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.

getControlsBy

getControlsBy: function( property,
match )

Get a list of controls with properties matching the given criteria.

Parameter

property {String} A control 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.Control)} A list of controls matching the given criteria.  An empty array is returned if no matches are found.

getControlsByClass

getControlsByClass: function( match )

Get a list of controls of a given class (CLASS_NAME).

Parameter

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.

getLayer

getLayer: function( id )

Get a layer based on its id

Parameter

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.

setLayerZIndex

setLayerZIndex: function ( layer,
zIdx )

Parameters

layer {OpenLayers.Layer}
zIdx {int}

resetLayersZIndex

resetLayersZIndex: function()

Reset each layer’s z-index based on layer’s array index

addLayer

addLayer: function ( layer )

Parameters

layer {OpenLayers.Layer}

addLayers

addLayers: function ( layers )

Parameters

layers {Array(OpenLayers.Layer)}

removeLayer

removeLayer: function( layer,
setNewBaseLayer )

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

getNumLayers

getNumLayers: function ()

Returns

{Int} The number of layers attached to the map.

getLayerIndex

getLayerIndex: function ( layer )

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.

setLayerIndex

setLayerIndex: function ( layer,
idx )

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}

raiseLayer

raiseLayer: function ( layer,
delta )

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}

setBaseLayer

setBaseLayer: function( newBaseLayer )

Allows user to specify one of the currently-loaded layers as the Map’s new base layer.

Parameters

newBaseLayer {OpenLayers.Layer}

addControl

addControl: function ( control,
px )

Add the passed over control to the map.  Optionally position the control at the given pixel.

Parameters

control {OpenLayers.Control}
px {OpenLayers.Pixel}

addControls

addControls: function ( controls,
pixels )

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)}

getControl

getControl: function ( id )

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.

removeControl

removeControl: function ( control )

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.

addPopup

addPopup: function( popup,
exclusive )

Parameters

popup {OpenLayers.Popup}
exclusive {Boolean} If true, closes all other popups first

removePopup

removePopup: function( popup )

Parameters

popup {OpenLayers.Popup}

getSize

getSize: function ()

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.

updateSize

updateSize: function()

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)

getCenter

getCenter: function ()

Returns

{OpenLayers.LonLat}

getZoom

getZoom: function ()

Returns

{Integer}

pan

pan: function( dx,
dy,
options )

Allows user to pan by a value of screen pixels

Parameters

dx {Integer}
dy {Integer}
options {Object} Options to configure panning:
  • animate {Boolean} Use panTo instead of setCenter.  Default is true.
  • dragging {Boolean} Call setCenter with dragging true.  Default is false.

panTo

panTo: function( lonlat )

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}

setCenter

setCenter: function( lonlat,
zoom,
dragging,
forceZoomChange )

Set the map center (and optionally, the zoom level).

Parameters

lonlat {OpenLayers.LonLat} The new center location.
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)

TBD: reconsider forceZoomChange in 3.0

moveByPx

moveByPx: function( dx,
dy )

Drag the map by pixels.

Parameters

dx {Number}
dy {Number}

moveTo

moveTo: function( lonlat,
zoom,
options )

Parameters

lonlat {OpenLayers.LonLat}
zoom {Integer}
options {Object}

isValidZoomLevel

isValidZoomLevel: function( zoomLevel )

Parameters

zoomLevel {Integer}

Returns

{Boolean} Whether or not the zoom level passed in is non-null and within the min/max range of zoom levels.

isValidLonLat

isValidLonLat: function( lonlat )

Parameters

lonlat {OpenLayers.LonLat}

Returns

{Boolean} Whether or not the lonlat passed in is non-null and within the maxExtent bounds

getProjection

getProjection: function()

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.

FIXME: In 3.0, we will remove getProjectionObject, and instead return a Projection object from this function.

Returns

{String} The Projection string from the base layer or null.

getMaxResolution

getMaxResolution: function()

Returns

{String} The Map’s Maximum Resolution

getMaxExtent

getMaxExtent: function ( options )

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).

getNumZoomLevels

getNumZoomLevels: function()

Returns

{Integer} The total number of zoom levels that can be displayed by the current baseLayer.

getExtent

getExtent: function ()

Returns

{OpenLayers.Bounds} A Bounds object which represents the lon/lat bounds of the current viewPort.  If no baselayer is set, returns null.

getResolution

getResolution: function ()

Returns

{Float} The current resolution of the map.  If no baselayer is set, returns null.

getUnits

getUnits: function ()

Returns

{Float} The current units of the map.  If no baselayer is set, returns null.

getScale

getScale: function ()

Returns

{Float} The current scale denominator of the map.  If no baselayer is set, returns null.

getZoomForExtent

getZoomForExtent: function ( bounds,
closest )

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.

getResolutionForZoom

getResolutionForZoom: function( zoom )

Parameter

zoom {Float}

Returns

{Float} A suitable resolution for the specified zoom.  If no baselayer is set, returns null.

getZoomForResolution

getZoomForResolution: function( resolution,
closest )

Parameter

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.

zoomTo

zoomTo: function( zoom )

Zoom to a specific zoom level

Parameters

zoom {Integer}

zoomIn

zoomIn: function()

zoomOut

zoomOut: function()

zoomToExtent

zoomToExtent: function( bounds,
closest )

Zoom to the passed in bounds, recenter

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.

zoomToMaxExtent

zoomToMaxExtent: function( options )

Zoom to the full extent and recenter.

Parameters

options -

Allowed Options

restricted {Boolean} True to zoom to restricted extent if it is set.  Defaults to true.

zoomToScale

zoomToScale: function( scale,
closest )

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.

getLonLatFromViewPortPx

getLonLatFromViewPortPx: function ( viewPortPx )

Parameters

viewPortPx {OpenLayers.Pixel}

Returns

{OpenLayers.LonLat} An OpenLayers.LonLat which is the passed-in view port OpenLayers.Pixel, translated into lon/lat by the current base layer.

getViewPortPxFromLonLat

getViewPortPxFromLonLat: function ( lonlat )

Parameters

lonlat {OpenLayers.LonLat}

Returns

{OpenLayers.Pixel} An OpenLayers.Pixel which is the passed-in OpenLayers.LonLat, translated into view port pixels by the current base layer.

getLonLatFromPixel

getLonLatFromPixel: function ( px )

Parameters

px {OpenLayers.Pixel}

Returns

{OpenLayers.LonLat} An OpenLayers.LonLat corresponding to the given OpenLayers.Pixel, translated into lon/lat by the current base layer

getPixelFromLonLat

getPixelFromLonLat: function ( lonlat )

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.

getViewPortPxFromLayerPx

getViewPortPxFromLayerPx:function( layerPx )

Parameters

layerPx {OpenLayers.Pixel}

Returns

{OpenLayers.Pixel} Layer Pixel translated into ViewPort Pixel coordinates

getLayerPxFromViewPortPx

getLayerPxFromViewPortPx:function( viewPortPx )

Parameters

viewPortPx {OpenLayers.Pixel}

Returns

{OpenLayers.Pixel} ViewPort Pixel translated into Layer Pixel coordinates

getLonLatFromLayerPx

getLonLatFromLayerPx: function ( px )

Parameters

px {OpenLayers.Pixel}

Returns

{OpenLayers.LonLat}

getLayerPxFromLonLat

getLayerPxFromLonLat: function ( lonlat )

Parameters

lonlat {OpenLayers.LonLat} lonlat

Returns

{OpenLayers.Pixel} An OpenLayers.Pixel which is the passed-in OpenLayers.LonLat, translated into layer pixels by the current base layer

getMapTools

getMapTools: function ()

gets the map tools object which is corresponding to the MapTools of the map on server side. 

Returns

{OpenLayers.Control} Map tools object.

Examples

var panzoomBar = Map1.getMapTools().panZoomBar;
var mousecoordinate = Map1.getMapTools().mouseCoordinate;
var measureMapTool = Map1.getMapTools().measureMapTool;
var touchMapTool = Map1.getMapTools().touchMapTool;
var animationPanMapTool = Map1.getMapTools().animationPanMapTool;
var overlaySwitcher = Map1.getMapTools().overlaySwitcher;
var mouseMapTool = Map1.getMapTools().mouseMapTool;
var mouseCoordinate = Map1.getMapTools().mouseCoordinate;
var miniMap = Map1.getMapTools().miniMap;
var panZoom = Map1.getMapTools().panZoom;
var panZoomBar = Map1.getMapTools().panZoomBar;
var scaleLine = Map1.getMapTools().scaleLine;
var logo = Map1.getMapTools().logo;
var keyboardMapTool = Map1.getMapTools().keyboardMapTool;

getMapParser

getMapParser: function ()

gets the mapParser which is used to convert the Map JSON string to cient map object.

toggleExtent

toggleExtent: function ()

Toggle the map between the previous and the next extent.

Examples

Map1.toggleExtent();

setDrawMode

setDrawMode: function ( drawMode )

Set the map mode by the drawMode parameter.  The map mode can be set as “Point”, “Line”, “Polygon”, “Rectangle”, “Square”, “Circle”, “Ellipse”, “Normal” and “Modify”.  In the “Normal” mode, the map is in its normal state.  In the “Modify” mode, the shapes on the map can be edited.  In other modes, you can draw the specified shapes on the map. 

Parameters

drawMode {String} it can be specified as Point”, “Line”, “Polygon”, “Rectangle”, “Square”, “Circle”, “Ellipse”, “Normal”, “Modify”.

Examples

Map1.SetDrawMode(“Normal”); 
Map1.SetDrawMode(“Modify”);
Map1.SetDrawMode(“Point”); Map1.SetDrawMode(“Line”); Map1.SetDrawMode(“Polygon”);
Map1.SetDrawMode(“Rectangle”); Map1.SetDrawMode(“Square”);
Map1.SetDrawMode(“Circle”); Map1.SetDrawMode(“Ellipse”);

resetLayerZIndex

resetLayerZIndex: function ()

reset the z-index of each layers in the map.

Examples

Map1.resetLayerZIndex();

setMeasureMode

setMeasureMode: function ( measureMode )

sets the measure mode of the measure tool, it can be any of “PathMeasure”, “PolygonMeasure” or “Normal”.  In the “Normal” mode, the map is in its normal state, and the measure tool is disabled. 

Parameters

measureMode {String} measure mode of the measure tool.

Examples

Map1.setMeasureMode('PathMeasure');
Map1.setMeasureMode('PolygonMeasure');

setEditSetting

setEditSetting: function ( editMode )

Set current map edit mode to Reshape|Rotate|Resize|Drag mode. 

Parameters

editMode {String} the edit mode of editSetting.  It can be specified as: EditSettings.Reshape, EditSettings.Resize, EditSettings.Rotate, EditSettings.Drag

Examples

Map1.setEditSetting(EditSettings.Reshape);
Map1.setEditSetting(EditSettings.Resize);
Map1.setEditSetting(EditSettings.Rotate);
Map1.setEditSetting(EditSettings.Drag);

clearEditingFeatures

clearEditingFeatures: function ()

Clear all features drawn on the map.

Examples

Map1.clearEditingFeatures();

cancelLatestFeature

cancelLatestFeature: function ()

Delete the latest drawn feature.

Examples

Map1.cancelLatestFeature();

printMap

printMap: function ()

Print the current map.

Examples

Map1.printMap();

redrawLayer

redrawLayer: function ( layerId )

Redraws the layer which is specifed by the id.

Examples

Map1.redrawLayer('layerId');

setCurrentBackgroundMapType

setCurrentBackgroundMapType: function ( backgroundMapType )

Change current OpenLayers third part layer’s type.  Please reference the Google, Virtual Earth, or Yahoo API you registered on the web page, and then find what type of map they support.

For example, Google v2 support types: G_HYBRID_MAP, G_NORMAL_MAP, G_SATELLITE_MAP, G_PHYSICAL_MAP.  Google v3 support types: google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.TERRAIN

Yahoo supports: YAHOO_MAP_SAT, YAHOO_MAP_REG, YAHOO_MAP_HYB.

Virtual Earth supports: VEMapStyle.Road, VEMapStyle.Aerial, VEMapStyle.Hybrid.  Please reference the latest API to get more supported Map Types. 

Parameters

backgroundMapType {String} An Id of a layer which you added on the map.

Examples

//If current map layer is Google:
Map1.SetCurrentBackgroundMapType(G_HYBRID_MAP);

//If current map layer is Virtual Earth:
Map1.SetCurrentBackgroundMapType(VEMapStyle.Road);

//If current map layer is Yahoo:
Map1.SetCurrentBackgroundMapType(YAHOO_MAP_SAT);

redrawBackgound

redrawBackgound: function ()

refresh the map's background.

ajaxCallAction

ajaxCallAction: function ( controller,
action,
params,
callback )

Performs an asynchronous HTTP (Ajax) request to an action of the specified controller with parameters in JSON format.

It requires to access the paramters passed from here in action, it requires apllying the MapActionFilterAttribute to the specified action.

Parameters

controller {String} The name of the controller
action {String} The name of the action
params {object} The parameters in JSON format.
callback {function} The callback function which is used to process the data sent from server.

Examples

var params = {clickedX: 90.2657, clickedY: 60.2548};
var controller = "ClickToShowTheMarker";
var action = "UpdateMarker";
Map1.ajaxCallAction(controller, action, params,fucntion(result){
     if (result.get_statusCode() != '404') {
         var layerId = result.get_responseData();
         Map1.redrawLayer(layerId);
     }
});

ajaxCall

ajaxCall: function ( url,
params,
callback )

This is the override for function ajaxCallAction, it performs an asynchronous HTTP (Ajax) request to an action of the specified controller with parameters in JSON format.

It requires to access the paramters passed from here in action, it requires apllying the MapActionFilterAttribute to the specified action.

Parameters

url {String} the access URL that should contain a action applied MapActionFilterAttribute.
params {object} The parameters in JSON format.
callback {function} The callback function which is used to process the data sent from server.

Examples

var params = {clickedX: 90.2657, clickedY: 60.2548};
Map1.ajaxCall('http://localhost/ClickToShowTheMarker/UpdateMarker?name="Jo"', params,fucntion(result){
     if (result.get_statusCode() != '404') {
         var layerId = result.get_responseData();
         Map1.redrawLayer(layerId);
     }
});

getFeaturesFromJson

getFeaturesFromJson: function ()

get the features from the specified Json.

Returns

Array({OpenLayers.Feature.Vector}) The feature array.

getEditFeaturesInJson

getEditFeaturesInJson: function ()

Gets the drawn geometries from EditOverlay in JSON format.

Returns

The drawn geometries in JSON format.

getStaticOverlay

getStaticOverlay: function ()

Gets the layer which is corresponding to the StaticOverlay of the map on server side.

Returns

{OpenLayers.Layer}.

getDynamicOverlay

getDynamicOverlay: function ()

gets the layer which is corresponding to the DyanmicOverlay of the map on server side.

Returns

{OpenLayers.Layer.Wms}.

getMarkerOverlay

getMarkerOverlay: function ()

Gets the marker layer which is corresponding to the MarkerOverlay of the map on server side.

Returns

{OpenLayers.Layer.Markers}.

getEditOverlay

getEditOverlay: function ()

Gets the vector layer for editing, it's corresponding to the EditOverlay of the map on server side.

Returns

{OpenLayers.Layer.Vector}.

getHighlightOverlay

getHighlightOverlay: function ()

Gets the layer which is used to render the HighlightOverlay of the map on server side.

Returns

{OpenLayers.Layer.Vector}.

getAdornmentOverlay

getAdornmentOverlay: function ()

Gets the layer which is corresponding to the AdornmentOverlay of the map on server side.

Returns

{OpenLayers.Layer.Wms}.

Enumerations

EditSettings

It just can be used when the map is in editing state. It can be 'Reshape', 'Resize', 'Rotate', 'Drag' or any combination of the members.

MouseCoordinateType

Represents the mouse coodrdinates format supported. It can be 'lonlat', 'dms', or 'dmsLatLon'.

Constants

TILE_WIDTH

{Integer} 256 Default tile width (unless otherwise specified)

TILE_HEIGHT

{Integer} 256 Default tile height (unless otherwise specified)

getLayersBy: function( property,
match )
Get a list of layers with properties matching the given criteria.
getLayersByName: function( match )
Get a list of layers with names matching the given name.
getLayersByClass: function( match )
Get a list of layers of a given class (CLASS_NAME).
getControlsBy: function( property,
match )
Get a list of controls with properties matching the given criteria.
getControlsByClass: function( match )
Get a list of controls of a given class (CLASS_NAME).
getLayer: function( id )
Get a layer based on its id
setLayerZIndex: function ( layer,
zIdx )
resetLayersZIndex: function()
Reset each layer’s z-index based on layer’s array index
addLayer: function ( layer )
addLayers: function ( layers )
removeLayer: function( layer,
setNewBaseLayer )
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.
getNumLayers: function ()
{Int} The number of layers attached to the map.
getLayerIndex: function ( layer )
setLayerIndex: function ( layer,
idx )
Move the given layer to the specified (zero-based) index in the layer list, changing its z-index in the map display.
raiseLayer: function ( layer,
delta )
Change the index of the given layer by delta.
setBaseLayer: function( newBaseLayer )
Allows user to specify one of the currently-loaded layers as the Map’s new base layer.
addControl: function ( control,
px )
Add the passed over control to the map.
addControls: function ( controls,
pixels )
Add all of the passed over controls to the map.
addControlToMap: function ( control,
px )
getControl: function ( id )
removeControl: function ( control )
Remove a control from the map.
addPopup: function( popup,
exclusive )
removePopup: function( popup )
getSize: function ()
{OpenLayers.Size} An OpenLayers.Size object that represents the size, in pixels, of the div into which OpenLayers has been loaded.
updateSize: function()
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)
getCurrentSize: function()
{OpenLayers.Size} A new OpenLayers.Size object with the dimensions of the map div
 
getCenter: function ()
{OpenLayers.LonLat}
getCachedCenter: function()
{OpenLayers.LonLat}
getZoom: function ()
{Integer}
 
Allows user to pan by a value of screen pixels
panTo: function( lonlat )
Allows user to pan to a new lonlat If the new lonlat is in the current extent the map will slide smoothly
setCenter: function( lonlat,
zoom,
dragging,
forceZoomChange )
Set the map center (and optionally, the zoom level).
moveByPx: function( dx,
dy )
Drag the map by pixels.
moveTo: function( lonlat,
zoom,
options )
centerLayerContainer: function ( lonlat )
This function takes care to recenter the layerContainerDiv.
isValidZoomLevel: function( zoomLevel )
isValidLonLat: function( lonlat )
getProjection: function()
This method returns a string representing the projection.
getProjectionObject: function()
Returns the projection obect from the baselayer.
getMaxResolution: function()
{String} The Map’s Maximum Resolution
getMaxExtent: function ( options )
getNumZoomLevels: function()
{Integer} The total number of zoom levels that can be displayed by the current baseLayer.
getExtent: function ()
{OpenLayers.Bounds} A Bounds object which represents the lon/lat bounds of the current viewPort.
getResolution: function ()
{Float} The current resolution of the map.
getUnits: function ()
{Float} The current units of the map.
getScale: function ()
{Float} The current scale denominator of the map.
getZoomForExtent: function ( bounds,
closest )
getResolutionForZoom: function( zoom )
getZoomForResolution: function( resolution,
closest )
zoomTo: function( zoom )
Zoom to a specific zoom level
zoomOut: function()
zoomToExtent: function( bounds,
closest )
Zoom to the passed in bounds, recenter
zoomToMaxExtent: function( options )
Zoom to the full extent and recenter.
zoomToScale: function( scale,
closest )
Zoom to a specified scale
getLonLatFromViewPortPx: function ( viewPortPx )
getViewPortPxFromLonLat: function ( lonlat )
getLonLatFromPixel: function ( px )
getPixelFromLonLat: function ( lonlat )
Returns a pixel location given a map location.
getGeodesicPixelSize: function( px )
getViewPortPxFromLayerPx:function( layerPx )
getLayerPxFromViewPortPx:function( viewPortPx )
getLonLatFromLayerPx: function ( px )
getLayerPxFromLonLat: function ( lonlat )
getMapTools: function ()
gets the map tools object which is corresponding to the MapTools of the map on server side.
getMapParser: function ()
gets the mapParser which is used to convert the Map JSON string to cient map object.
toggleExtent: function ()
Toggle the map between the previous and the next extent.
setDrawMode: function ( drawMode )
Set the map mode by the drawMode parameter.
resetLayerZIndex: function ()
reset the z-index of each layers in the map.
setMeasureMode: function ( measureMode )
sets the measure mode of the measure tool, it can be any of “PathMeasure”, “PolygonMeasure” or “Normal”.
setEditSetting: function ( editMode )
Set current map edit mode to Reshape|Rotate|Resize|Drag mode.
clearEditingFeatures: function ()
Clear all features drawn on the map.
cancelLatestFeature: function ()
Delete the latest drawn feature.
printMap: function ()
Print the current map.
redrawLayer: function ( layerId )
Redraws the layer which is specifed by the id.
 
Change current OpenLayers third part layer’s type.
callAction: function ( controller,
action,
params )
Provides an easy way to perform an synchronous HTTP request to an action of the specified controller with parameters.It will cause a full page refresh.
Performs an asynchronous HTTP (Ajax) request to an action of the specified controller with parameters in JSON format.
getEditGeometry: function ()
Gets the drawn geometries from EditOverlay in JSON format.
Constructor for a new OpenLayers.Map instance.
{Float} Default max is 360 deg / 256 px, which corresponds to zoom level 0 on gmaps.
{OpenLayers.Bounds} The maximum extent for the map.
{DOMElement|String} The element that contains the map (or an id for that element).