Я использую Sencha Touch + OpenLayers для разработки демонстрационного приложения.Одной из функций является получение каталога данных объектов в GeoServer.Я хочу использовать Ext.List для отображения имени векторных слоев.Я пробовал следующие коды:
App.AddFeatureLayerList = Ext.extend(Ext.List, {
createStore: function(){
Ext.regModel('WFSLayers', {
fields: ['name', 'title', 'srs', 'featureNS']
});
var data = [];
var request = OpenLayers.Request.GET({
url: root+'/geoserver/ows?service=wfs&version=1.0.0&request=GetCapabilities',
handler: function(response){
var XMLformat = new OpenLayers.Format.XML();
var xml = XMLformat.read(response.responseText);
var CAPformat = new OpenLayers.Format.WFSCapabilities();
cap = CAPformat.read(xml);
for (var i = 0; i < cap.featureTypeList.featureTypes.length; i++) {
var featureT = cap.featureTypeList.featureTypes[i];
data.push({
name: featureT.name,
title: featureT.title,
srs: featureT.srs,
featureNS: featureT.featureNS
});
}
return new Ext.data.Store({
model: 'WFSLayers',
sorters: 'title',
data: data,
getGroupString: function(record){
return record.get('title')[0];
},
});
}
});
},
initComponent: function(){
this.store = this.createStore();
this.itemTpl = new Ext.XTemplate('<span class="gx-layer-item">{name}</span>');
this.grouped = true;
this.listeners = {
itemtap: function(dataview, index, item, e){
}
};
App.AddFeatureLayerList.superclass.initComponent.call(this);
}
});
Ext.reg('app_addFeatureLayerList', App.AddFeatureLayerList);
Однако я получил ошибку:
Uncaught DataView requires tpl, store and itemSelector configurations to be defined.
, тогда, если я удалю коды:
new Ext.data.Store({
model: 'WFSLayers',
sorters: 'title',
data: data,
getGroupString: function(record){
return record.get('title')[0];
},
});
и поместу их вперейдите к this.store
после вызова "this.createStore()
", я получу пустой список.однако я отследил массив data
и оказалось, что в нем есть данные, но хранилище пусто.
Я не могу найти, что с ним не так.Кто-нибудь может помочь мне дать мне несколько советов?
Ценю всю помощь !!!