I would welcome suggestions to solve the following. I want to "enable" the
"activation" of a functionality at a certain zoom level, and after the
functionality is completed, I want the "deactivate" the functionality, but
still keep it enable-able (huh!). See below for a better description of the
problem --
// add a "zoomend" event so…
map.events.register("zoomend", map, function() {
// when the map is zoomed in at the correct level,
if (map.getZoom() > 3) {
// a button is activated so that when the button is clicked…
$("#button").bind("click", function() {
// the button is turned "on"
..
// the map begins listening for clicks to do
// cool functionality
map.events.register("click", map, function(e) {
coolFunctionality(e);
})
});
}
// but when the map zoom is not at the correct level,
else {
// map is no longer listening to clicks
map.events.unregister("click", map, function(e) {
coolFunctionality(e);
})
// and the button is turned "off" and deactivated
$("#button").unbind("click", function() {});
}
});
In another part of the script
"coolFunctionality": function (e) {
// do cool functionality,
..
// turn the button "off" (but it can still be clicked)
..
// and turn off the map listener so it may not be fired accidentally
map.events.unregister("click", map, function(e) {
coolFunctionality(e);
})
}
So, the problem is, when I am in `coolFunctionality()` and `unregister` the
event, I am still in the zoom level range where the event is `register`ed.
Hmmmm... what to do?
--
Puneet Kishor_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users