Adding a protocol for reading features cross-origin from services that support JSON with a callback. r=erilem (closes #2956)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@11691 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2011-03-10 20:51:03 +00:00
parent 545c001b5e
commit 27da366cd0
6 changed files with 710 additions and 0 deletions

39
examples/cross-origin.js Normal file
View File

@@ -0,0 +1,39 @@
var map = new OpenLayers.Map({
div: "map",
layers: [
new OpenLayers.Layer.WMS(
"World Map",
"http://maps.opengeo.org/geowebcache/service/wms",
{layers: "bluemarble"}
),
new OpenLayers.Layer.Vector("States", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.Script({
url: "http://suite.opengeo.org/geoserver/wfs",
callbackKey: "format_options",
callbackPrefix: "callback:",
params: {
service: "WFS",
version: "1.1.0",
srsName: "EPSG:4326",
request: "GetFeature",
typeName: "world:cities",
outputFormat: "json"
},
filterToParams: function(filter, params) {
// example to demonstrate BBOX serialization
if (filter.type === OpenLayers.Filter.Spatial.BBOX) {
params.bbox = filter.value.toArray();
if (filter.projection) {
params.bbox.push(filter.projection.getCode());
}
}
return params;
}
})
})
],
center: new OpenLayers.LonLat(0, 0),
zoom: 1
});