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