OpenLayers OpenLayers

root/branches/openlayers/2.5/examples/drag-feature.html

Revision 3958, 3.5 kB (checked in by tschaub, 1 year ago)

#638 let features be dragged

Line 
1 <html xmlns="http://www.w3.org/1999/xhtml">
2   <head>
3     <title>Drag Feature</title>
4     <style type="text/css">
5         #map {
6             width: 512px;
7             height: 350px;
8             border: 1px solid gray;
9         }
10         #controls {
11             width: 512px;
12         }
13         #controlToggle {
14             padding-left: 1em;
15         }
16         #controlToggle li {
17             list-style: none;
18         }
19     </style>
20     <script src="../lib/OpenLayers.js"></script>
21     <script type="text/javascript">
22         <!--
23         var map, vectors, controls;
24         function init(){
25             map = new OpenLayers.Map('map');
26             var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
27                 "http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
28
29             vectors = new OpenLayers.Layer.Vector("Vector Layer");
30
31             map.addLayers([wms, vectors]);
32             map.addControl(new OpenLayers.Control.LayerSwitcher());
33             map.addControl(new OpenLayers.Control.MousePosition());
34            
35             controls = {
36                 point: new OpenLayers.Control.DrawFeature(vectors,
37                             OpenLayers.Handler.Point),
38                 line: new OpenLayers.Control.DrawFeature(vectors,
39                             OpenLayers.Handler.Path),
40                 polygon: new OpenLayers.Control.DrawFeature(vectors,
41                             OpenLayers.Handler.Polygon),
42                 drag: new OpenLayers.Control.DragFeature(vectors)
43             };
44            
45             for(var key in controls) {
46                 map.addControl(controls[key]);
47             }
48            
49             map.setCenter(new OpenLayers.LonLat(0, 0), 3);
50             document.getElementById('noneToggle').checked = true;
51         }
52
53         function toggleControl(element) {
54             for(key in controls) {
55                 var control = controls[key];
56                 if(element.value == key && element.checked) {
57                     control.activate();
58                 } else {
59                     control.deactivate();
60                 }
61             }
62         }
63        
64         // -->
65     </script>
66   </head>
67   <body onload="init()">
68     <h1>OpenLayers Drag Feature Example</h1>
69     <div id="map"></div>
70     <div id="controls">
71         <ul id="controlToggle">
72             <li>
73                 <input type="radio" name="type" value="none" id="noneToggle"
74                        onclick="toggleControl(this);" checked="checked" />
75                 <label for="noneToggle">navigate</label>
76             </li>
77             <li>
78                 <input type="radio" name="type" value="point" id="pointToggle" onclick="toggleControl(this);" />
79                 <label for="pointToggle">draw point</label>
80             </li>
81             <li>
82                 <input type="radio" name="type" value="line" id="lineToggle" onclick="toggleControl(this);" />
83                 <label for="lineToggle">draw line</label>
84             </li>
85             <li>
86                 <input type="radio" name="type" value="polygon" id="polygonToggle" onclick="toggleControl(this);" />
87                 <label for="polygonToggle">draw polygon</label>
88             </li>
89             <li>
90                 <input type="radio" name="type" value="drag" id="dragToggle"
91                        onclick="toggleControl(this);" />
92                 <label for="dragToggle">drag feature</label>
93             </li>
94         </ul>
95     </div>
96   </body>
97 </html>
Note: See TracBrowser for help on using the browser.