fix up the case in which a vector layer needs to be reprojected and the map is not yet centered for the BBOX Strategy, thanks tschaub for the catch, p=vmische, r=me (closes #3142)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@11617 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
bartvde
2011-03-05 23:34:44 +00:00
parent e3d137754c
commit 361ca8af95
2 changed files with 11 additions and 1 deletions

View File

@@ -153,7 +153,8 @@ OpenLayers.Strategy.BBOX = OpenLayers.Class(OpenLayers.Strategy, {
return null;
}
var bounds = this.layer.map.getExtent();
if(!this.layer.projection.equals(this.layer.map.getProjectionObject())) {
if(bounds && !this.layer.projection.equals(
this.layer.map.getProjectionObject())) {
bounds = bounds.clone().transform(
this.layer.map.getProjectionObject(), this.layer.projection
);

View File

@@ -284,8 +284,17 @@
strategies: [strategy]
});
// Make sure to test the case of a vector layer needing to be
// reprojected while the map is not yet centered
var layerReproject = new OpenLayers.Layer.Vector(null, {
protocol: new OpenLayers.Protocol(),
strategies: [new OpenLayers.Strategy.BBOX()],
projection: 'EPSG:900913'
});
var map = new OpenLayers.Map("map");
map.addLayer(dummy);
map.addLayer(layerReproject);
map.setCenter(new OpenLayers.LonLat(0, 0));
map.addLayer(layer);