OpenLayers.Control.WMSGetFeatureInfo

The WMSGetFeatureInfo control uses a WMS query to get information about a point on the map.  The information may be in a display-friendly format such as HTML, or a machine-friendly format such as GML, depending on the server’s capabilities and the client’s configuration.  This control handles click or hover events, attempts to parse the results using an OpenLayers.Format, and fires a ‘getfeatureinfo’ event with the click position, the raw body of the response, and an array of features if it successfully read the response.

Inherits from

Summary
OpenLayers.Control.WMSGetFeatureInfoThe WMSGetFeatureInfo control uses a WMS query to get information about a point on the map.
Properties
hover{Boolean} Send GetFeatureInfo requests when mouse stops moving.
maxFeatures{Integer} Maximum number of features to return from a WMS query.
layers{Array(OpenLayers.Layer.WMS)} The layers to query for feature info.
queryVisible{Boolean} If true, filter out hidden layers when searching the map for layers to query.
url{String} The URL of the WMS service to use.
layerUrls{Array(String)} Optional list of urls for layers that should be queried.
infoFormat{String} The mimetype to request from the server
vendorParams{Object} Additional parameters that will be added to the request, for WMS implementations that support them.
format{OpenLayers.Format} A format for parsing GetFeatureInfo responses.
formatOptions{Object} Optional properties to set on the format (if one is not provided in the format property.
handlerOptions{Object} Additional options for the handlers used by this control, e.g.
handler{Object} Reference to the OpenLayers.Handler for this control
hoverRequest{OpenLayers.Request} contains the currently running hover request (if any).
Constants
EVENT_TYPES
Constructor
<OpenLayers.Control.WMSGetFeatureInfo>
Functions
activateActivates the control.
deactivateDeactivates the control.
getInfoForClickCalled on click
getInfoForHoverPause callback for the hover handler
cancelHoverCancel callback for the hover handler
findLayersInternal method to get the layers, independent of whether we are inspecting the map or using a client-provided array
urlMatchesTest to see if the provided url matches either the control url or one of the layerUrls.
requestSends a GetFeatureInfo request to the WMS
handleResponseHandler for the GetFeatureInfo response.
setMapSet the map property for the control.

Properties

hover

{Boolean} Send GetFeatureInfo requests when mouse stops moving.  Default is false.

maxFeatures

{Integer} Maximum number of features to return from a WMS query.  This sets the feature_count parameter on WMS GetFeatureInfo requests.

layers

{Array(OpenLayers.Layer.WMS)} The layers to query for feature info.  If omitted, all map WMS layers with a url that matches this url or <layerUrl> will be considered.

queryVisible

{Boolean} If true, filter out hidden layers when searching the map for layers to query.  Default is false.

url

{String} The URL of the WMS service to use.  If not provided, the url of the first eligible layer will be used.

layerUrls

{Array(String)} Optional list of urls for layers that should be queried.  This can be used when the layer url differs from the url used for making GetFeatureInfo requests (in the case of a layer using cached tiles).

infoFormat

{String} The mimetype to request from the server

vendorParams

{Object} Additional parameters that will be added to the request, for WMS implementations that support them.  This could e.g. look like

{
    radius: 5
}

format

{OpenLayers.Format} A format for parsing GetFeatureInfo responses.  Default is OpenLayers.Format.WMSGetFeatureInfo.

formatOptions

{Object} Optional properties to set on the format (if one is not provided in the format property.

handlerOptions

{Object} Additional options for the handlers used by this control, e.g.

{
    "click": {delay: 100},
    "hover": {delay: 300}
}

handler

{Object} Reference to the OpenLayers.Handler for this control

hoverRequest

{OpenLayers.Request} contains the currently running hover request (if any).

Constants

EVENT_TYPES

Supported event types (in addition to those from OpenLayers.Control)

getfeatureinfoTriggered when a GetFeatureInfo response is received.  The event object has a text property with the body of the response (String), a features property with an array of the parsed features, an xy property with the position of the mouse click or hover event that triggered the request, and a request property with the request itself.

Constructor

<OpenLayers.Control.WMSGetFeatureInfo>

Parameters

options{Object}

Functions

activate

activate: function ()

Activates the control.

Returns

{Boolean} The control was effectively activated.

deactivate

deactivate: function ()

Deactivates the control.

Returns

{Boolean} The control was effectively deactivated.

getInfoForClick

getInfoForClick: function(evt)

Called on click

Parameters

evt{OpenLayers.Event}

getInfoForHover

getInfoForHover: function(evt)

Pause callback for the hover handler

Parameters

evt{Object}

cancelHover

cancelHover: function()

Cancel callback for the hover handler

findLayers

findLayers: function()

Internal method to get the layers, independent of whether we are inspecting the map or using a client-provided array

urlMatches

urlMatches: function(url)

Test to see if the provided url matches either the control url or one of the layerUrls.

Parameters

url{String} The url to test.

Returns

{Boolean} The provided url matches the control url or one of the layerUrls.

request

request: function(clickPosition,
options)

Sends a GetFeatureInfo request to the WMS

Parameters

clickPosition{OpenLayers.Pixel} The position on the map where the mouse event occurred.
options{Object} additional options for this method.

Valid options

  • hover {Boolean} true if we do the request for the hover handler

handleResponse

handleResponse: function(xy,
request)

Handler for the GetFeatureInfo response.

Parameters

xy{OpenLayers.Pixel} The position on the map where the mouse event occurred.
request{XMLHttpRequest} The request object.

setMap

setMap: function(map)

Set the map property for the control.

Parameters

map{OpenLayers.Map}
Instances of OpenLayers.Layer.WMS are used to display data from OGC Web Mapping Services.
Base class for format reading/writing a variety of formats.
{OpenLayers.Format} A format for parsing GetFeatureInfo responses.
Base class to construct a higher-level handler for event sequences.
The OpenLayers.Request namespace contains convenience methods for working with XMLHttpRequests.
activate: function ()
Activates the control.
deactivate: function ()
Deactivates the control.
getInfoForClick: function(evt)
Called on click
getInfoForHover: function(evt)
Pause callback for the hover handler
cancelHover: function()
Cancel callback for the hover handler
findLayers: function()
Internal method to get the layers, independent of whether we are inspecting the map or using a client-provided array
urlMatches: function(url)
Test to see if the provided url matches either the control url or one of the layerUrls.
{String} The URL of the WMS service to use.
{Array(String)} Optional list of urls for layers that should be queried.
request: function(clickPosition,
options)
Sends a GetFeatureInfo request to the WMS
handleResponse: function(xy,
request)
Handler for the GetFeatureInfo response.
setMap: function(map)
Set the map property for the control.
Controls affect the display or behavior of the map.
Class to read GetFeatureInfo responses from Web Mapping Services
Utility functions for event handling.
This class represents a screen coordinate, in x and y coordinates
Instances of OpenLayers.Map are interactive maps embedded in a web page.
Close