OpenLayers OpenLayers

root/branches/openlayers/2.5/examples/gml-serialize.html

Revision 4281, 2.9 kB (checked in by crschmidt, 1 year ago)

gml.write() now returns a string in a cross browser way. Update
example so it should now work in IE.

  • Property svn:eol-style set to native
Line 
1 <html xmlns="http://www.w3.org/1999/xhtml">
2   <head>
3     <style type="text/css">
4         #map {
5             width: 512px;
6             height: 350px;
7             border: 1px solid gray;
8         }
9     </style>
10     <script src="../lib/OpenLayers.js"></script>
11     <script type="text/javascript">
12         var map, drawControl, g;
13         function serialize(feature) {
14             feature.attributes = {};
15             var name = prompt("Name for feature?");
16             feature.attributes['name'] = name;
17             var data = g.write(feature.layer.features);
18             OpenLayers.Util.getElement("gml").value = data;
19         }
20         function init(){
21             g = new OpenLayers.Format.GML();
22             map = new OpenLayers.Map('map');
23            
24             var wmsLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
25                 "http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
26
27             var pointLayer = new OpenLayers.Layer.Vector("Point Layer");
28             pointLayer.onFeatureInsert = serialize;
29
30             map.addLayers([wmsLayer, pointLayer]);
31             map.addControl(new OpenLayers.Control.LayerSwitcher());
32             map.addControl(new OpenLayers.Control.MousePosition());
33            
34             drawControls = {
35                 point: new OpenLayers.Control.DrawFeature(pointLayer,
36                             OpenLayers.Handler.Point),
37                 line: new OpenLayers.Control.DrawFeature(pointLayer,
38                             OpenLayers.Handler.Path)
39             };
40            
41             for(var key in drawControls) {
42                 map.addControl(drawControls[key]);
43             }
44            
45             map.setCenter(new OpenLayers.LonLat(0, 0), 3);
46         }
47
48         function toggleControl(element) {
49             for(key in drawControls) {
50                 var control = drawControls[key];
51                 if(element.value == key && element.checked) {
52                     control.activate();
53                 } else {
54                     control.deactivate();
55                 }
56             }
57         }
58     </script>
59   </head>
60   <body onload="init()">
61     <h1>OpenLayers Draw Point Example</h1>
62     <div style="float:right">
63     <ul id="controlToggle">
64         <li>
65             <input type="radio" name="type" value="none" id="noneToggle"
66                    onclick="toggleControl(this);" checked="checked" />
67             <label for="noneToggle">navigate</label>
68         </li>
69         <li>
70             <input type="radio" name="type" value="point" id="pointToggle" onclick="toggleControl(this);" />
71             <label for="pointToggle">draw point</label>
72         </li>
73         <li>
74             <input type="radio" name="type" value="line" id="lineToggle" onclick="toggleControl(this);" />
75             <label for="lineToggle">draw line</label>
76         </li>
77     </ul>
78     <p>Check the box to draw points.  Uncheck to navigate normally.</p>
79     <textarea id="gml" cols="80" rows="30"></textarea>
80     </div>
81     <div id="map"></div>
82   </body>
83 </html>
Note: See TracBrowser for help on using the browser.