diff --git a/lib/OpenLayers/Format/GPX.js b/lib/OpenLayers/Format/GPX.js index 16b979fd1b..c8d447899d 100644 --- a/lib/OpenLayers/Format/GPX.js +++ b/lib/OpenLayers/Format/GPX.js @@ -280,7 +280,8 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { this.externalProjection); } if (geometry.CLASS_NAME == "OpenLayers.Geometry.Point") { - var wpt = this.buildWptNode(feature); + var wpt = this.buildWptNode(geometry); + this.appendAttributesNode(wpt, feature); return wpt; } else { var trkNode = this.createElementNSPlus("gpx:trk"); @@ -348,16 +349,15 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { * Builds a wpt node given a point * * Parameters: - * feature - {} + * geometry - {} * * Returns: * {DOMElement} A wpt node */ - buildWptNode: function(feature) { + buildWptNode: function(geometry) { var node = this.createElementNSPlus("gpx:wpt"); - node.setAttribute("lon", feature.geometry.x); - node.setAttribute("lat", feature.geometry.y); - this.appendAttributesNode(node, feature); + node.setAttribute("lon", geometry.x); + node.setAttribute("lat", geometry.y); return node; }, diff --git a/lib/OpenLayers/Layer/Bing.js b/lib/OpenLayers/Layer/Bing.js index f6b0259b57..cf064e17c7 100644 --- a/lib/OpenLayers/Layer/Bing.js +++ b/lib/OpenLayers/Layer/Bing.js @@ -233,7 +233,8 @@ OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, { new OpenLayers.Projection("EPSG:4326") ); var providers = res.imageryProviders, - zoom = this.serverResolutions.indexOf(this.getServerResolution()), + zoom = OpenLayers.Util.indexOf(this.serverResolutions, + this.getServerResolution()), copyrights = "", provider, i, ii, j, jj, bbox, coverage; for (i=0,ii=providers.length; ifoobarfoobar', 'GPX serializes points correctly'); + + parser.internalProjection = new OpenLayers.Projection("EPSG:3857"); + point = new OpenLayers.Geometry.Point(-12367595.42541111, 5621521.485409545); + point2 = new OpenLayers.Geometry.Point(-12472235.746742222, 5621521.485409545); + features = [ + new OpenLayers.Feature.Vector(point, {name: 'foo', description: 'bar'}), + new OpenLayers.Feature.Vector(point2, {name: 'foo', description: 'bar'}) + ]; + data = parser.write(features); + t.xml_eq(data, 'foobarfoobar', 'GPX serializes transformed points correctly'); } function test_Format_GPX_serialize_line(t) { - t.plan(1); + t.plan(2); var parser = new OpenLayers.Format.GPX(); @@ -59,6 +104,14 @@ var f = new OpenLayers.Feature.Vector(line, {name: 'foo', description: 'bar'}); var data = parser.write(f); t.xml_eq(data, 'foobar', 'GPX serializes line correctly'); + + parser.internalProjection = new OpenLayers.Projection("EPSG:3857"); + point = new OpenLayers.Geometry.Point(-12367595.42541111, 5621521.485409545); + point2 = new OpenLayers.Geometry.Point(-12472235.746742222, 5621521.485409545); + line = new OpenLayers.Geometry.LineString([point, point2]); + f = new OpenLayers.Feature.Vector(line, {name: 'foo', description: 'bar'}); + data = parser.write(f); + t.xml_eq(data, 'foobar', 'GPX serializes transformed line correctly'); } function test_Format_GPX_serialize_lines(t) { t.plan(1); diff --git a/tests/Strategy/BBOX.html b/tests/Strategy/BBOX.html index 84c0ad02ee..4194b59175 100644 --- a/tests/Strategy/BBOX.html +++ b/tests/Strategy/BBOX.html @@ -305,7 +305,7 @@ // Test fix for Ticket #3142 function test_layerLoadedAfterBeingAdded(t) { - t.plan(2); + t.plan(3); var dummy = new OpenLayers.Layer(null, {isBaseLayer: true}); @@ -341,6 +341,11 @@ // test that the strategy bounds were set t.ok(map.getExtent().equals(strategy.bounds), "[set center] bounds set to map extent"); t.eq(layerOutOfRange.strategies[0].bounds, null, "Data not requested if layer is out of range"); + + layerOutOfRange.setVisibility(false); + layerOutOfRange.setVisibility(true); + t.eq(layerOutOfRange.strategies[0].bounds, null, "Data not requested if layer is out of range when switching visibility"); + map.destroy(); }