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
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
}
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}
}
EVENT_TYPES
Supported event types (in addition to those from OpenLayers.Control)
getfeatureinfo | Triggered 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. |
<OpenLayers.Control.WMSGetFeatureInfo>
activate
Activates the control.
Returns
{Boolean} The control was effectively activated.
deactivate
Deactivates the control.
Returns
{Boolean} The control was effectively deactivated.
getInfoForClick
getInfoForClick: function( | evt | ) |
|
Called on click
Parameters
getInfoForHover
getInfoForHover: function( | evt | ) |
|
Pause callback for the hover handler
Parameters
cancelHover
Cancel callback for the hover handler
findLayers
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
Set the map property for the control.
Parameters