OpenLayers OpenLayers

Changeset 7132

Show
Ignore:
Timestamp:
05/09/08 19:25:46 (2 months ago)
Author:
tschaub
Message:

a horrible, yet apparently working, wfs-t example

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/openlayers/examples/wfs-t.html

    r7095 r7132  
    22  <head> 
    33    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" /> 
    4     <link rel="stylesheet" href="style.css" type="text/css" /> 
     4    <style type="text/css"> 
     5        #map { 
     6            width: 800px; 
     7            height: 512px; 
     8            border: 1px solid black; 
     9        } 
     10    </style> 
     11    <script src="../lib/Firebug/firebug.js"></script> 
    512    <script src="../lib/OpenLayers.js"></script> 
    613    <script type="text/javascript"> 
    7         var map, layer; 
     14        var map, wfs; 
     15        OpenLayers.ProxyHost= "proxy.cgi?url="; 
    816 
    9         function init()
     17        function init()
    1018            map = new OpenLayers.Map('map'); 
    11             layer = new OpenLayers.Layer.WMS( "State", 
    12                     "http://dev.openlayers.org/geoserver/wms", {layers: 'topp:tasmania_state_boundaries'} ); 
    13             map.addLayer(layer); 
    14             layer = new OpenLayers.Layer.WMS( "Water", 
    15                     "http://dev.openlayers.org/geoserver/wms", {layers: 'topp:tasmania_water_bodies', 'transparent': true, format: 'image/gif' } ); 
    16             map.addLayer(layer); 
    17             rlayer = new OpenLayers.Layer.WFS( "Roads", 
    18                     "http://dev.openlayers.org/geoserver/wfs", {typename: 'topp:tasmania_roads'}, 
    19                { 
    20                       typename: 'tasmania_roads', 
    21                       featureNS: 'http://www.openplans.org/topp', 
    22                       extractAttributes: false 
    23                } ); 
    24             rlayer.onFeatureInsert=function(feature) { feature.style.strokeColor = "#ff0000"; feature.layer.drawFeature(feature); } 
    25             map.addLayer(rlayer); 
    26             layer = new OpenLayers.Layer.WFS( "Cities", 
    27                     "http://dev.openlayers.org/geoserver/wfs", {typename: 'topp:tasmania_cities'}, 
    28                { 
    29                       typename: 'tasmania_cities', 
    30                       featureNS: 'http://www.openplans.org/topp', 
    31                       extractAttributes: false 
    32                } ); 
    33             map.addLayer(layer); 
    34             map.addControl(new OpenLayers.Control.LayerSwitcher()); 
    35             var p = new OpenLayers.Control.Panel({'displayClass': 'olControlEditingToolbar'}); 
     19            var wms = new OpenLayers.Layer.WMS( 
     20                "State", 
     21                "http://sigma.openplans.org/geoserver/wms", 
     22                {layers: 'topp:tasmania_state_boundaries'} 
     23            ); 
     24             
     25            wfs = new OpenLayers.Layer.WFS( 
     26                "Cities", 
     27                "http://sigma.openplans.org/geoserver/wfs", 
     28                {typename: 'topp:tasmania_cities'}, 
     29                { 
     30                    typename: "tasmania_cities", 
     31                    featureNS: "http://www.openplans.org/topp", 
     32                    extractAttributes: false 
     33                } 
     34            ); 
     35            
     36            map.addLayers([wms, wfs]); 
    3637 
    37             df = new OpenLayers.Control.DrawFeature(rlayer, OpenLayers.Handler.Path, {handlerOptions: {'freehand': false}, 'displayClass': 'olControlDrawFeaturePath'}); 
    38             df.featureAdded = function(feature) { 
    39               feature.state = OpenLayers.State.INSERT; 
    40               feature.style['strokeColor'] = "#0000ff"; 
    41               feature.layer.drawFeature(feature); 
     38            var panel = new OpenLayers.Control.Panel({ 
     39                displayClass: "olControlEditingToolbar" 
     40            }); 
     41 
     42            var dp = new OpenLayers.Control.DrawFeature( 
     43                wfs, OpenLayers.Handler.Point, 
     44                { 
     45                    handlerOptions: {freehand: false}, 
     46                    displayClass: "olControlDrawFeaturePoint" 
     47                } 
     48            ); 
     49 
     50            dp.featureAdded = function(feature) { 
     51                var oldgeom = feature.geometry; 
     52                feature.layer.renderer.eraseGeometry(oldgeom); 
     53                feature.geometry = new OpenLayers.Geometry.MultiPoint(oldgeom); 
     54                feature.state = OpenLayers.State.INSERT;                       
     55                feature.layer.drawFeature(feature); 
    4256            } 
    43             dp = new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {handlerOptions: {'freehand': false}, 'displayClass': 'olControlDrawFeaturePoint'}); 
    44             dp.featureAdded = function(feature) { 
    45               var oldgeom = feature.geometry; 
    46               feature.layer.renderer.eraseGeometry(oldgeom); 
    47               feature.geometry = new OpenLayers.Geometry.MultiPoint(oldgeom); 
    48               feature.state = OpenLayers.State.INSERT; 
    49               feature.style['strokeColor'] = "#0000ff"; 
    50               feature.layer.drawFeature(feature); 
    51             } 
    52             p.addControls([ new OpenLayers.Control.Navigation(), df, dp ]); 
     57            
     58            panel.addControls([ 
     59                new OpenLayers.Control.Navigation(), dp 
     60            ]); 
    5361 
    54             map.addControl(p); 
     62            map.addControl(panel); 
     63             
    5564            map.zoomToExtent(new OpenLayers.Bounds(145.51045,-44.0,149.0,-40.5)); 
    5665        } 
     66         
    5767    </script> 
    58   </head> 
    59   <body onload="init()"> 
     68</head> 
     69<body onload="init()"> 
    6070 
    61   <h1 id="title">WFS Example</h1> 
     71    <h1 id="title">WFS Example</h1> 
     72     
     73    <div id="tags"> 
     74    </div> 
     75    <p id="shortdesc"> 
     76        Shows the use of the WFS layer type. 
     77    </p> 
     78     
     79    <a href="#" onclick="OpenLayers.Console.log(wfs.commit());return false">Save Cities</a><br /> 
    6280 
    63   <div id="tags"> 
    64   </div> 
    65   <p id="shortdesc"> 
    66       Shows the use of the WFS layer type. 
    67   </p> 
    68  
    69     <a href="#" onclick="map.layers[2].commit();return false">Save Roads</a><br /> 
    70     <a href="#" onclick="map.layers[3].commit();return false">Save Cities</a><br /> 
    71     <div id="map" class="smallmap"></div> 
    72  
    73   <div id="docs"> 
    74       This is an example of using a WFS layer type. Note that it requires a  
     81    <div id="map"></div> 
     82     
     83    <p id="docs"> 
     84    This is an example of using a WFS layer type. Note that it requires a  
    7585    working GeoServer install, which the OpenLayers project does not maintain; 
    7686    however, if you're interested, you should be able to point this against 
    7787    a default GeoServer setup without too much trouble. 
    78    </div
     88    </p
    7989 
    8090 
    8191 
    82   </body> 
     92    </body> 
    8393</html> 
    8494