I am using the following code and wanted to know how I can change it from click event to hover or mousemove event. I know there is a eventListner but I am unable to locate the click event where I must change it to mousemove event.
info = new OpenLayers.Control.WMSGetFeatureInfo({
url: 'http://localhost:8080/geoserver/iPlant/wms',
title: 'Identify features by clicking',
queryVisible: true,
eventListeners: {
getfeatureinfo: function(event) {
map.addPopup(new OpenLayers.Popup.FramedCloud(
"chicken",
map.getLonLatFromPixel(event.xy),
null,
event.text,
null,
true
));
}
}
});
map.addControl(info);
info.activate();
Update 2.0
I made the changes and also added the PopUp, but only the click function is being recognized.
info = {
click: new OpenLayers.Control.WMSGetFeatureInfo({
url : 'http://niles.iplantcollaborative.org:8080/geoserver/wms',
title : 'Identify features by clicking',
queryVisible : true,
eventListeners : {
getfeatureinfo : function(event) {
deletePopUp();
popup = new OpenLayers.Popup.FramedCloud("popInfo", map.getLonLatFromPixel(event.xy), null, event.text, null, true);
map.addPopup(popup);}}
}),
hover: new OpenLayers.Control.WMSGetFeatureInfo({
url : 'http://niles.iplantcollaborative.org:8080/geoserver/wms',
title : 'Identify features by clicking',
queryVisible : true,
hover : true,
eventListeners : {
getfeatureinfo : function(event) {
deletePopUp();
popup = new OpenLayers.Popup.FramedCloud("popInfo", map.getLonLatFromPixel(event.xy), null, event.text, null, true);
map.addPopup(popup);
}}
})
};
map.addControl(info.hover);
info.hover.activate();
Best Answer
you can add your code in object and then call whatever you want as following code.. actually OpenLayers.Control.WMSGetFeatureInfo has hover properties which enough for to solve your problem.
i hope it helps you..