function to reset handler
This commit is contained in:
@@ -45,7 +45,7 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
* options - {Object} Options for control.
|
||||
*/
|
||||
defaultHandlerOptions: {
|
||||
'delay': 500,
|
||||
'delay': 200,
|
||||
'pixelTolerance': null,
|
||||
'stopMove': false,
|
||||
'single': true,
|
||||
@@ -55,10 +55,23 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
'stopDouble': false
|
||||
},
|
||||
|
||||
handlerMode: 'move',
|
||||
/* Property: handlerMode
|
||||
* Defaults to 'click'. Can be 'hover' or 'move'.
|
||||
*/
|
||||
handlerMode: 'hover',
|
||||
|
||||
setHandler: function(hm) {
|
||||
this.handlerMode = hm;
|
||||
this.resetHandler();
|
||||
},
|
||||
|
||||
resetHandler: function() {
|
||||
if (this.handler) {
|
||||
this.handler.deactivate();
|
||||
this.handler.destroy();
|
||||
this.handler = null;
|
||||
}
|
||||
|
||||
setHandler: function() {
|
||||
this.handler = null;
|
||||
if (this.handlerMode == 'hover') {
|
||||
// Handle this event on hover
|
||||
this.handler = new OpenLayers.Handler.Hover(
|
||||
@@ -81,6 +94,11 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
this.handlerOptions
|
||||
);
|
||||
}
|
||||
if (this.handler) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
initialize: function(options) {
|
||||
@@ -90,7 +108,7 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
OpenLayers.Control.prototype.initialize.apply(
|
||||
this, arguments
|
||||
);
|
||||
this.setHandler();
|
||||
this.resetHandler();
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -124,7 +142,6 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
var layer;
|
||||
for (var i=0, len=layers.length; i<len; i++) {
|
||||
layer = layers[i];
|
||||
|
||||
var info = layer.getTileInfo( lonLat );
|
||||
this.writeDebugInfo(info);
|
||||
var tile = info.tile;
|
||||
@@ -139,7 +156,8 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
Math.floor((info.i) / resolution)
|
||||
));
|
||||
attrs = data.data[data.keys[code]];
|
||||
this.callback(attrs);
|
||||
if (attrs)
|
||||
this.callback(attrs);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -178,7 +196,6 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
val += "<li>" + index + " : " + attrs[index] + "</li>";
|
||||
}
|
||||
val += "</ul>";
|
||||
//var val = attrs.NAME + ": population " + attrs.POP2005;
|
||||
this.element.innerHTML = val;
|
||||
return true;
|
||||
} else {
|
||||
@@ -207,7 +224,7 @@ OpenLayers.Control.UTFGrid = OpenLayers.Class(OpenLayers.Control, {
|
||||
reset: function(evt) {
|
||||
this.callback(null);
|
||||
if (this.element)
|
||||
this.element.innerHTML = this.emptyString;
|
||||
this.element.innerHTML = '';
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user