GeoExt重新加载FeatureStore更改网址

时间:2014-07-18 10:02:05

标签: openlayers store geoext

我正在尝试重新加载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"不是" / url2"正如我所料。 也试过

store.proxy.url = "url2";

因为FeatureStore继承自Ext.data.Store但没有运气。

1 个答案:

答案 0 :(得分:0)

我知道了! 我必须更换协议:

 mycombo.addListener('change', function() {
        var proto = new OpenLayers.Protocol.HTTP({
            url: new_url,
            format: new OpenLayers.Format.GeoJSON()
        });
        vecLayer.protocol = proto;
        vecLayer.refresh();
 });