[OpenLayers-Commits] r1820 - in sandbox/vector: examples lib lib/OpenLayers/Layer
commits at openlayers.org
commits at openlayers.org
Mon Nov 13 19:59:54 EST 2006
Author: camerons
Date: 2006-11-13 19:59:53 -0500 (Mon, 13 Nov 2006)
New Revision: 1820
Added:
sandbox/vector/lib/OpenLayers/Layer/Gml.js
Modified:
sandbox/vector/examples/wfs_features.html
sandbox/vector/lib/OpenLayers.js
Log:
Create Layer.Gml class - logic moved in from wfs_features.html
Modified: sandbox/vector/examples/wfs_features.html
===================================================================
--- sandbox/vector/examples/wfs_features.html 2006-11-13 22:20:59 UTC (rev 1819)
+++ sandbox/vector/examples/wfs_features.html 2006-11-14 00:59:53 UTC (rev 1820)
@@ -19,39 +19,14 @@
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
- vector = new OpenLayers.Layer.Vector("Vector Layer");
+ vector = new OpenLayers.Layer.Gml("Vector Layer2",{href:"us_interstate.xml"});
map.addLayer(vector);
- var results = OpenLayers.loadURL("us_interstate.xml", null, this, requestSuccess, requestFailure);
+ //var results = OpenLayers.loadURL("us_interstate.xml", null, this, requestSuccess, requestFailure);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(-100, 60), 3);
}
-
-
-function requestSuccess(request) {
- var doc = request.responseXML;
-
- if (!doc || request.fileType!="XML") {
- doc = OpenLayers.parseXMLString(request.responseText);
- }
-
- resultFeatures = OpenLayers.Ajax.getElementsByTagNameNS(doc, "http://www.opengis.net/gml","gml", "featureMember");
- addResults(resultFeatures);
-}
-function requestFailure(request) {
- console.log('failure');
-}
-function addResults(results) {
- for (var i=0; i < results.length; i++) {
- var gml = new OpenLayers.Parser.GML(results[i]);
- var feature = gml.getFeature();
- vector.addFeatures(feature);
- }
-}
-
-
-
// -->
</script>
</head>
Added: sandbox/vector/lib/OpenLayers/Layer/Gml.js
===================================================================
--- sandbox/vector/lib/OpenLayers/Layer/Gml.js (rev 0)
+++ sandbox/vector/lib/OpenLayers/Layer/Gml.js 2006-11-14 00:59:53 UTC (rev 1820)
@@ -0,0 +1,63 @@
+/* Copyright (c) 2006 Thales Australia, Cameron Shorter, published under the BSD license. */
+
+/**
+ * Create a vector layer by parsing a GML file. The GML file is
+ * passed in as a parameter.
+ * @class
+ *
+ * @requires OpenLayers/Vector.js
+ */
+OpenLayers.Layer.Gml = OpenLayers.Class.create();
+OpenLayers.Layer.Gml.prototype =
+ OpenLayers.Class.inherit( OpenLayers.Layer.Vector, {
+
+ /**
+ * @constructor
+ *
+ * @param {String} name
+ * @param {Object} options Hashtable of extra options to tag onto the layer.
+ * Options include - href: reference to the GML file, this is required.
+ * @param {Renderer} renderer Typically SvgRenderer or VmlRenderer.
+ */
+ initialize: function(name, options, renderer) {
+ var newArguments=new Array()
+ newArguments.push(name, options);
+ OpenLayers.Layer.Vector.prototype.initialize.apply(this, newArguments);
+ //alert("Gml.initialize href="+options.href);
+
+ // Load the GML
+ var results = OpenLayers.loadURL(options.href, null, this, this.requestSuccess, this.requestFailure);
+ },
+
+ /**
+ * Process GML after it has been loaded.
+ * Called by initialise() and loadUrl() after the GML has been loaded.
+ * @param {String} request
+ */
+ requestSuccess: function(request) {
+ var doc = request.responseXML;
+
+ if (!doc || request.fileType!="XML") {
+ doc = OpenLayers.parseXMLString(request.responseText);
+ }
+
+ features = OpenLayers.Ajax.getElementsByTagNameNS(doc, "http://www.opengis.net/gml","gml", "featureMember");
+ for (var i=0; i < features.length; i++) {
+ var gml = new OpenLayers.Parser.GML(features[i]);
+ var feature = gml.getFeature();
+ this.addFeatures(feature);
+ }
+ },
+
+ /**
+ * Process a failed loading of GML.
+ * Called by initialise() and loadUrl() if there was a problem loading GML.
+ * @param {String} request
+ */
+ requestFailure: function(request) {
+ console.log('failure in '+CLASS_NAME+' parsing gml file. Error message:'+request);
+ },
+
+ /** @final @type String */
+ CLASS_NAME: "OpenLayers.Layer.Gml"
+ });
Modified: sandbox/vector/lib/OpenLayers.js
===================================================================
--- sandbox/vector/lib/OpenLayers.js 2006-11-13 22:20:59 UTC (rev 1819)
+++ sandbox/vector/lib/OpenLayers.js 2006-11-14 00:59:53 UTC (rev 1820)
@@ -86,6 +86,7 @@
"OpenLayers/Layer/GeoRSS.js",
"OpenLayers/Layer/Boxes.js",
"OpenLayers/Layer/Vector.js",
+ "OpenLayers/Layer/Gml.js",
"OpenLayers/Popup/Anchored.js",
"OpenLayers/Popup/AnchoredBubble.js",
"OpenLayers/Control.js",
More information about the Commits
mailing list