[OpenLayers-Users] WFS Request not triggered without setCenter
Hajo Kliemeck
klk at kybeidos.de
Mon Aug 23 11:11:13 EDT 2010
hi,
is there a possibility to trigger a wfs layer request without calling
setcenter? my current solution is running, but i want to avoid the
setcenter() with lat=0, lon=0 to trigger the calculation of the center
with wfs features.
<script type="text/javascript">
var map;
var geographic = new OpenLayers.Projection("EPSG:4326");
var mercator = new OpenLayers.Projection("EPSG:900913");
function loadMap() {
var world = new OpenLayers.Bounds(-180, -89, 180, 89).transform(
geographic, mercator
);
var options = {
projection: mercator,
displayProjection: geographic,
units: "m",
numZoomLevels: 20,
maxExtent: world,
maxResolution: "auto"
};
// Create the map object
map = new OpenLayers.Map('map', options);
map.addControl(new OpenLayers.Control.LayerSwitcher());
OpenLayers.loadURL("http://localhost:8080/.......", null, null, loadSLD);
}
function loadSLD(req) {
var format = new OpenLayers.Format.SLD();
var sld = format.read(req.responseXML || req.responseText);
var style = sld.namedLayers["main"].userStyles[0];
// create Google Maps layer
var gmap = new OpenLayers.Layer.Google(
"Google Maps", // the default
{'sphericalMercator': true, numZoomLevels: 20}
);
// create Google Satellite layer
var gsat = new OpenLayers.Layer.Google(
"Google Maps Satellite",
{type: G_SATELLITE_MAP, 'sphericalMercator': true, numZoomLevels: 20}
);
// create WFS layer
var wfslayer = new OpenLayers.Layer.Vector("WFS", {
styleMap: new OpenLayers.StyleMap(style),
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
url: "http://localhost:8080/........",
featureType: "xy",
featureNS: "http://xy",
srsName: "EPSG:900913",
version: "1.1.0"
})
});
// calculate the zoom and center
wfslayer.events.register("loadend", wfslayer, function (e) {
var objectFeatures = this.features;
if ( objectFeatures.length != 0 ) {
var bounds = wfslayer.getDataExtent();
map.zoomToExtent(bounds);
}
});
map.addLayers([gmap, gsat, wfslayer]);
// trigger wfs request
map.setCenter(new OpenLayers.LonLat(0, 0));
}
</script>
--
------------------------------------------------------------------------
Email: klk at kybeidos.de
Telefon: +49 (0) 6221 - 616050
Fax: +49 (0) 6221 - 616051
------------------------------------------------------------------------
KYBEIDOS Gesellschaft für Systeme zur Unternehmenssteuerung mbH
Moltkestraße 27
69120 Heidelberg
Handelsregister: Heidelberg HRB 5460
USt.Id-Nr.: DE182073772
Geschäftsführer: Stephan Frenzel, Dietmar Hantsch, Dr. Michael Wiedemann
More information about the Users
mailing list