summaryrefslogtreecommitdiff
path: root/misc/openlayers/examples/click-handler.html
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/examples/click-handler.html')
-rw-r--r--misc/openlayers/examples/click-handler.html232
1 files changed, 0 insertions, 232 deletions
diff --git a/misc/openlayers/examples/click-handler.html b/misc/openlayers/examples/click-handler.html
deleted file mode 100644
index d0bd9d4..0000000
--- a/misc/openlayers/examples/click-handler.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
- <meta name="apple-mobile-web-app-capable" content="yes">
- <title>OpenLayers Click Handler Example</title>
-
- <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
- <link rel="stylesheet" href="style.css" type="text/css">
- <style type="text/css">
- #map {
- width: 340px;
- height: 170px;
- border: 1px solid gray;
- }
- #west {
- width: 350px;
- }
- #east {
- position: absolute;
- left: 370px;
- top: 4em;
- }
-
- table td {
- text-align: center;
- margin: 0;
- border: 1px solid gray;
- }
- textarea.output {
- text-align: left;
- font-size: 0.9em;
- width: 250px;
- height: 65px;
- overflow: auto;
- }
- </style>
- <script src="../lib/Firebug/firebug.js"></script>
- <script src="../lib/OpenLayers.js"></script>
- <script type="text/javascript">
-
- OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
- defaultHandlerOptions: {
- 'single': true,
- 'double': false,
- 'pixelTolerance': 0,
- 'stopSingle': false,
- 'stopDouble': false
- },
-
- initialize: function(options) {
- this.handlerOptions = OpenLayers.Util.extend(
- {}, this.defaultHandlerOptions
- );
- OpenLayers.Control.prototype.initialize.apply(
- this, arguments
- );
- this.handler = new OpenLayers.Handler.Click(
- this, {
- 'click': this.onClick,
- 'dblclick': this.onDblclick
- }, this.handlerOptions
- );
- },
-
- onClick: function(evt) {
- var output = document.getElementById(this.key + "Output");
- var msg = "click " + evt.xy;
- output.value = output.value + msg + "\r\n";
- },
-
- onDblclick: function(evt) {
- var output = document.getElementById(this.key + "Output");
- var msg = "dblclick " + evt.xy;
- output.value = output.value + msg + "\n";
- }
-
- });
-
- var map, controls;
-
- function init(){
-
- map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS(
- "OpenLayers WMS",
- "http://vmap0.tiles.osgeo.org/wms/vmap0",
- {layers: 'basic'}
- );
- map.addLayers([layer]);
-
- controls = {
- "single": new OpenLayers.Control.Click({
- handlerOptions: {
- "single": true
- }
- }),
- "double": new OpenLayers.Control.Click({
- handlerOptions: {
- "single": false,
- "double": true
- }
- }),
- "both": new OpenLayers.Control.Click({
- handlerOptions: {
- "single": true,
- "double": true
- }
- }),
- "drag": new OpenLayers.Control.Click({
- handlerOptions: {
- "single": true,
- "pixelTolerance": null
- }
- }),
- "stopsingle": new OpenLayers.Control.Click({
- handlerOptions: {
- "single": true,
- "stopSingle": true
- }
- }),
- "stopdouble": new OpenLayers.Control.Click({
- handlerOptions: {
- "single": false,
- "double": true,
- "stopDouble": true
- }
- })
- };
-
- var props = document.getElementById("props");
- var control;
- for(var key in controls) {
- control = controls[key];
- // only to route output here
- control.key = key;
- map.addControl(control);
- }
-
- map.zoomToMaxExtent();
- }
-
- function toggle(key) {
- var control = controls[key];
- if(control.active) {
- control.deactivate();
- } else {
- control.activate();
- }
- var status = document.getElementById(key + "Status");
- status.innerHTML = control.active ? "on" : "off";
- var output = document.getElementById(key + "Output");
- output.value = "";
- }
- </script>
- </head>
- <body onload="init()">
- <h1 id="title">Click Handler Example</h1>
- <div id="west">
-
- <div id="tags">
- event, events, propagation, advanced
- </div>
-
- <p id="shortdesc">
- This example shows the use of the click handler.
- </p>
-
- <div id="map" class="smallmap"></div>
- <p>
- The click handler can be used to gain more flexibility over handling
- click events. The handler can be constructed with options to handle
- only single click events, to handle single and double-click events,
- to ignore clicks that include a drag, and to stop propagation of
- single and/or double-click events. A single click is a click that
- is not followed by another click for more than 300ms. This delay
- is configured with the delay property.
- </p>
- <p>
- The options to stop single and double clicks have to do with
- stopping event propagation on the map events listener queue
- (not stopping events from cascading to other elements). The
- ability to stop an event from propagating has to do with the
- order in which listeners are registered. With stopSingle or
- stopDouble true, a click handler will stop propagation to all
- listeners that were registered (or all handlers that were
- activated) before the click handler was activated. So, for
- example, activating a click handler with stopDouble true after
- the navigation control is active will stop double-clicks from
- zooming in.
- </p>
- </div>
- <div id="east">
- <table>
- <caption>Controls with click handlers (toggle on/off to clear output)</caption>
- <tbody>
- <tr>
- <td>single only</td>
- <td><button id="singleStatus" onclick="toggle('single')">off</button></td>
- <td><textarea class="output" id="singleOutput"></textarea></td>
- </tr>
- <tr>
- <td>double only</td>
- <td><button id="doubleStatus" onclick="toggle('double')">off</button></td>
- <td><textarea class="output" id="doubleOutput"></textarea></td>
- </tr>
- <tr>
- <td>both</td>
- <td><button id="bothStatus" onclick="toggle('both')">off</button></td>
- <td><textarea class="output" id="bothOutput"></textarea></td>
- </tr>
- <tr>
- <td>single with drag</td>
- <td><button id="dragStatus" onclick="toggle('drag')">off</button></td>
- <td><textarea class="output" id="dragOutput"></textarea></td>
- </tr>
- <tr>
- <td>single with stop</td>
- <td><button id="stopsingleStatus" onclick="toggle('stopsingle')">off</button></td>
- <td><textarea class="output" id="stopsingleOutput"></textarea></td>
- </tr>
- <tr>
- <td>double with stop</td>
- <td><button id="stopdoubleStatus" onclick="toggle('stopdouble')">off</button></td>
- <td><textarea class="output" id="stopdoubleOutput"></textarea></td>
- </tr>
- </tbody>
- </table>
- </div>
- </body>
-</html>