我正在尝试重新加载一个更改url的GeoExt.data.FeatureStore。这是我的密码:
var vecLayer = new OpenLayers.Layer.Vector("vector", {
protocol: new OpenLayers.Protocol.HTTP({
url: '/url',
format: new OpenLayers.Format.GeoJSON()
}),
strategies: [new OpenLayers.Strategy.Fixed()]
});
var store = Ext.create('GeoExt.data.FeatureStore', {
layer: vecLayer,
fields: [
{name: 'name', type: 'string'},
{name: 'elevation', type: 'float'}
],
autoLoad: true
});
mycombo.addListener('change', function() {
vecLayer.protocol.url = "/url2";
vecLayer.refresh();
});我可以看到请求是在Firebug控制台中发出的,但是url是"/url“,而不是我预期的"/url2”。也曾尝试过
store.proxy.url = "url2";因为FeatureStore继承了Ext.data.Store,但没有运气。
发布于 2014-07-28 13:32:58
我有个主意!我必须替换协议:
mycombo.addListener('change', function() {
var proto = new OpenLayers.Protocol.HTTP({
url: new_url,
format: new OpenLayers.Format.GeoJSON()
});
vecLayer.protocol = proto;
vecLayer.refresh();
});https://stackoverflow.com/questions/24822319
复制相似问题