[OpenLayers-Users] WFS with script protocol and filters
gismgr
gismgr at sec.state.ma.us
Fri May 4 13:05:21 EDT 2012
Thanks Phil! I was finally able to get it working. Turned out I was just being impatient - trying to do things with the filtered layer before it had finished loading, so of course it was returning undefined.
So this is what I ended up with:
found_layer = new OpenLayers.Layer.Vector(
'Inventory Points',
{
strategies: [new OpenLayers.Strategy.Fixed()],
displayInLayerSwitcher: false,
protocol: new OpenLayers.Protocol.Script({
url:'http://gismgr:8080/geoserver/wfs',
callbackKey: 'format_options',
callbackPrefix: 'callback:',
params: {
service: 'WFS',
version: '1.1.0',
srsName: 'EPSG:3857',
request: 'GetFeature',
typeName: 'Inventory_Points',
outputFormat: 'json',
cql_filter: filter
}
})
}
);
Then later:
map.addLayer(found_layer);
found_layer.events.register('loadend', found_layer, function() {
found_feature = found_layer.features[0];
if (found_feature===undefined) {
alert("No such resource, please try again.");
} else {
map.setCenter(found_feature.geometry.bounds.getCenterLonLat());
map.zoomToExtent(found_feature.geometry.bounds);
}
}
);
So anyway, now I feel kinda silly, but thanks for the help anyway! Hopefully this can save someone else a little time in the future.
Kat
More information about the Users
mailing list