我有一个函数:
function createWFS(){
//WMS
wms_proj = new OpenLayers.Projection("EPSG:900913");
//WFS
SS=new OpenLayers.Strategy.Save();
FS=new OpenLayers.Strategy.Filter({filter:Ffilter});
var myStyle = OpenLayers.Util.extend({},
OpenLayers.Feature.Vector.style['default']);
myStyle.strokeWidth = 1.5;
myStyle.strokeColor = "#ff0000";
myStyle.fillOpacity = 0.1;
myVecLayer= new OpenLayers.Layer.Vector("Редактируемый участок");
myVecLayer.projection=wms_proj;
app.mapPanel.map.addLayers([myVecLayer]);
myVecLayer.visibility=false;
//Стор для зума
zoom_tab = new GeoExt.data.FeatureStore({
layer: myVecLayer,
fields: [
{name: 'id', type: 'int'},
{name: 'filedata', type: 'String'}
],
proxy: new GeoExt.data.ProtocolProxy({
protocol: new OpenLayers.Protocol.HTTP({
//url: "/geoserver/ows?service=WFS&request=GetFeature&typeName=mrsk:parcels_temp&srsName=EPSG:4326&outputFormat=GML2",
url: "/geoserver/ows?service=WFS&request=GetFeature&typeName=cite:parcels_temp&srsName=EPSG:4326&outputFormat=GML2",
format: new OpenLayers.Format.GML()
})
}),
autoLoad: true
});
zoom_store=zoom_tab;
}
你看到这个函数创建WFS层和GeoExt.FeatureStore。我不知道函数能工作多久。
所以现在我调用这个函数,并希望在下一个代码之前等待函数结果。怎么做呢?
给它传递你自己的回调函数:
function createWFS(callback) {
//WMS
...
if (callback)
callback();
}
function Main() {
createWFS(NextStep);
}
function NextStep() {
//stuff here
}