【发布时间】:2016-01-27 05:07:37
【问题描述】:
我正在使用从 naturalearthdata 中提取的 geojson,如下所示:
我想要的只是捕捉每个特征的名称,以便在网格中显示它们(实时搜索网格..顺便说一句,它对 2000 个名称有效吗?) 但我无法使用 root 属性访问所有名称。我尝试循环使用所有功能
Ext.define('myApp.store.Places', {
extend: 'Ext.data.Store',
alias: 'store.places',
requires : ['myApp.model.PlacesModel',
'myApp.view.main.MainModel'],
id: 'Places',
model: 'myApp.model.PlacesModel',
autoLoad: true,
proxy: {
type: 'ajax',
url : '/resources/data/coord.json',
reader: {
type: 'json',
transform: {
fn: function(data) {
for(var i = 0; i < data.features.length -1; i++){
names_places.push(data.features[i].properties.NAME);
}
debugger;
return names_places;
},
scope: this
}
}
}
});
仅捕获 NAME 的好方法是什么?返回是否必须查看 json?
【问题讨论】:
-
我认为您需要返回一个正确的
myApp.model.PlacesModel记录数组,而不仅仅是transform中的一个字符串数组。文档说它应该返回一个数据对象docs.sencha.com/extjs/6.0/6.0.1-modern/#!/api/… -
您可能只说
rootProperty是features。然后,在模型字段中添加一个带有mappingproperty 的字段,例如mapping: 'properties.NAME' -
@weeksdev 非常感谢您!如果您想将其发布为答案,我将关闭该问题,否则我今晚删除该问题
-
@So4ne 我将其发布为答案,我认为这个问题最好保留。