2014-07-18 2 views
0

GeoExt.data.FeatureStore 변경 URL을 다시로드하려고합니다. 이건 내 코드입니다 :GeoExt 다시로드 FeatureStore URL 변경

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(); 
     }); 

나는 reqeust가 방화범 콘솔에서 만들어 볼 수 있지만 URL은 내가 예상대로 "/ URL을"하지 "/ URL2"입니다. FeatureStore이 Ext.data.Store하지만 운이 상속 이후 은 또한

store.proxy.url = "url2"; 

와 tryied.

답변

0

나는 그것을 얻었습니다! 프로토콜을 바꾸어야합니다.

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