diff options
Diffstat (limited to 'misc/openlayers/examples/vector-formats.html')
-rw-r--r-- | misc/openlayers/examples/vector-formats.html | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/misc/openlayers/examples/vector-formats.html b/misc/openlayers/examples/vector-formats.html deleted file mode 100644 index 2b45b54..0000000 --- a/misc/openlayers/examples/vector-formats.html +++ /dev/null @@ -1,240 +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>Vector Formats</title> - <link rel="stylesheet" href="../theme/default/style.css" type="text/css"> - <!--[if lte IE 6]> - <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" /> - <![endif]--> - <link rel="stylesheet" href="style.css" type="text/css"> - <style type="text/css"> - input, select, textarea { - font: 0.9em Verdana, Arial, sans-serif; - } - #leftcol { - position: absolute; - top: 0; - left: 1em; - padding: 0; - width: 517px; - } - #map { - width: 512px; - height: 225px; - border: 1px solid #ccc; - } - #input { - width: 512px; - } - #text { - font-size: 0.85em; - margin: 1em 0 1em 0; - width: 100%; - height: 10em; - } - #info { - position: relative; - padding: 2em 0; - margin-left: 540px; - } - #output { - font-size: 0.8em; - width: 100%; - height: 512px; - border: 0; - } - p { - margin: 0; - padding: 0.75em 0 0.75em 0; - } - </style> - <script src="../lib/Firebug/firebug.js"></script> - <script src="../lib/OpenLayers.js"></script> - <script type="text/javascript"> - var map, vectors, formats; - function updateFormats() { - var in_options = { - 'internalProjection': map.baseLayer.projection, - 'externalProjection': new OpenLayers.Projection(OpenLayers.Util.getElement("inproj").value) - }; - var out_options = { - 'internalProjection': map.baseLayer.projection, - 'externalProjection': new OpenLayers.Projection(OpenLayers.Util.getElement("outproj").value) - }; - var gmlOptions = { - featureType: "feature", - featureNS: "http://example.com/feature" - }; - var gmlOptionsIn = OpenLayers.Util.extend( - OpenLayers.Util.extend({}, gmlOptions), - in_options - ); - var gmlOptionsOut = OpenLayers.Util.extend( - OpenLayers.Util.extend({}, gmlOptions), - out_options - ); - var kmlOptionsIn = OpenLayers.Util.extend( - {extractStyles: true}, in_options); - formats = { - 'in': { - wkt: new OpenLayers.Format.WKT(in_options), - geojson: new OpenLayers.Format.GeoJSON(in_options), - georss: new OpenLayers.Format.GeoRSS(in_options), - gml2: new OpenLayers.Format.GML.v2(gmlOptionsIn), - gml3: new OpenLayers.Format.GML.v3(gmlOptionsIn), - kml: new OpenLayers.Format.KML(kmlOptionsIn), - atom: new OpenLayers.Format.Atom(in_options), - gpx: new OpenLayers.Format.GPX(in_options), - encoded_polyline: new OpenLayers.Format.EncodedPolyline(in_options) - }, - 'out': { - wkt: new OpenLayers.Format.WKT(out_options), - geojson: new OpenLayers.Format.GeoJSON(out_options), - georss: new OpenLayers.Format.GeoRSS(out_options), - gml2: new OpenLayers.Format.GML.v2(gmlOptionsOut), - gml3: new OpenLayers.Format.GML.v3(gmlOptionsOut), - kml: new OpenLayers.Format.KML(out_options), - atom: new OpenLayers.Format.Atom(out_options), - gpx: new OpenLayers.Format.GPX(out_options), - encoded_polyline: new OpenLayers.Format.EncodedPolyline(out_options) - } - }; - } - function init(){ - map = new OpenLayers.Map('map'); - var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", - "http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'}); - - vectors = new OpenLayers.Layer.Vector("Vector Layer"); - - map.addLayers([wms, vectors]); - map.addControl(new OpenLayers.Control.MousePosition()); - map.addControl(new OpenLayers.Control.EditingToolbar(vectors)); - - var options = { - hover: true, - onSelect: serialize - }; - var select = new OpenLayers.Control.SelectFeature(vectors, options); - map.addControl(select); - select.activate(); - - updateFormats(); - - map.setCenter(new OpenLayers.LonLat(0, 0), 1); - } - - function serialize(feature) { - var type = document.getElementById("formatType").value; - // second argument for pretty printing (geojson only) - var pretty = document.getElementById("prettyPrint").checked; - var str = formats['out'][type].write(feature, pretty); - // not a good idea in general, just for this demo - str = str.replace(/,/g, ', '); - document.getElementById('output').value = str; - } - - function deserialize() { - var element = document.getElementById('text'); - var type = document.getElementById("formatType").value; - var features = formats['in'][type].read(element.value); - var bounds; - if(features) { - if(features.constructor != Array) { - features = [features]; - } - for(var i=0; i<features.length; ++i) { - if (!bounds) { - bounds = features[i].geometry.getBounds(); - } else { - bounds.extend(features[i].geometry.getBounds()); - } - - } - vectors.addFeatures(features); - map.zoomToExtent(bounds); - var plural = (features.length > 1) ? 's' : ''; - element.value = features.length + ' feature' + plural + ' added'; - } else { - element.value = 'Bad input ' + type; - } - } - - // preload images - (function() { - var roots = ["draw_point", "draw_line", "draw_polygon", "pan"]; - var onImages = []; - var offImages = []; - for(var i=0; i<roots.length; ++i) { - onImages[i] = new Image(); - onImages[i].src = "../theme/default/img/" + roots[i] + "_on.png"; - offImages[i] = new Image(); - offImages[i].src = "../theme/default/img/" + roots[i] + "_on.png"; - } - })(); - - </script> - </head> - <body onload="init()"> - <div id="leftcol"> - <h1 id="title">Vector Formats Example</h1> - - <div id="tags"> - vector, geojson, atom, kml, georss, gml, wkt, advanced, spherical, mercator - </div> - <p id="shortdesc"> - Shows the wide variety of vector formats that open layers supports. - </p> - - <div id="map" class="smallmap"></div> - <div id="input"> - <p>Use the drop-down below to select the input/output format - for vector features. New features can be added by using the drawing - tools above or by pasting their text representation below.</p> - <label for="formatType">Format</label> - <select name="formatType" id="formatType"> - <option value="geojson" selected="selected">GeoJSON</option> - <option value="atom">Atom</option> - <option value="kml">KML</option> - <option value="georss">GeoRSS</option> - <option value="gml2">GML (v2)</option> - <option value="gml3">GML (v3)</option> - <option value="wkt">Well-Known Text (WKT)</option> - <option value="gpx">GPX</option> - <option value="encoded_polyline">Encoded Polyline</option> - </select> - - <label for="prettyPrint">Pretty print</label> - <input id="prettyPrint" type="checkbox" - name="prettyPrint" value="1" /> - <br> - Input Projection: <select id="inproj" onchange='updateFormats()'> - <option value="EPSG:4326" selected="selected">EPSG:4326</option> - <option value="EPSG:900913">Spherical Mercator</option> - </select> <br> - Output Projection: <select id="outproj" onchange='updateFormats()'> - <option value="EPSG:4326" selected="selected">EPSG:4326</option> - <option value="EPSG:900913">Spherical Mercator</option> - </select> - <br> - <textarea id="text">paste text here...</textarea> - <br> - <input type="button" value="add feature" onclick="deserialize();" /> - </div> - - <div id="docs"> - </div> - - </div> - <div id="info"> - <p>Use the tools to the left to draw new polygons, lines, and points. - After drawing some new features, hover over a feature to see the - serialized version below.</p> - <textarea id="output"></textarea> - </div> - - </body> -</html> |