It seems quite simple thing to me, but I get an error.
map declaration
map = new OpenLayers.Map('map_element', {...
projection : _projObj.mercator,
displayProjection : _projObj.wgs84
}
layer declaration
uses_layer = new OpenLayers.Layer.Vector("US Layer", {
strategies : [new OpenLayers.Strategy.Fixed()],
projection : _projObj.wgs84,
visibility : true,
protocol : new OpenLayers.Protocol.WFS({
version : '1.0.0',
url : '[...]wfs.map&service=WFS',
featureType : USType
})
});
center to layer extent
After the layer gets successfully loaded, I want to zoom to the vector layer extent:
map.zoomToExtent(uses_layer.getDataExtent());
and I get:
Uncaught TypeError: Cannot call method 'getCenterLonLat' of null
OpenLayers.Map.OpenLayers.Class.zoomToExtentOpenLayers.js:512
addSelectedLayermap.js:87
(anonymous function)46.105.19.68:36
f.event.dispatchjquery-1.7.2.min.js:3
f.event.add.h.handle.i
When I pass the same commands from JS debug command line (embedded in Chrome), the map get zoomed correctly; nonetheless,
uses_layer.getDataExtent();
from command line, gives me
bottom: 5134852.1720288
centerLonLat: null
left: 1744085.9879363
right: 1787837.9987162
top: 5150209.4139235
Now, centerLonLat
is null
, but in the docs it is said that the only reqested value is a bound with coordinates array, that IMHO fits with the uses_layer.getDataExtent();
request.
Any hint? Thanks :)