我有一个具有该结构的JavaScript对象
myJsObject= {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [84.1, 99.1]
},
"properties": {
"value": "20",
"s": "abc"
}
}, {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [18.15, 9.73]
},
"properties": {
"value": "0",
"s": "def"
}
}, {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [1.15, 4.78]
},
"properties": {
"value": "10",
"s": "fdg"
}
}, {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [17.15, 5.13]
},
"properties": {
"value": "5",
"s": "dfs"
}
}]
}
我尝试以这种方式访问它:
myJsObject.features.forEach(function(d) {
d.LatLng = new L.LatLng(d.geometry.coordinates[1],
d.geometry.coordinates[0]);
});
返回给我undefined
。
我可以这样访问
myJsObject.features;
并且喜欢这个
myJsObject.features[0];
但不喜欢这个
myJsObject.features.geometry;
为什么?我需要后者用于fr forEach loop
...
答案 0 :(得分:3)
为什么?
myJson.features
的值是一个数组。
它不是具有名为geometry
的属性的对象。
数组包含对象,其属性名为geometry
。
答案 1 :(得分:0)
由于要素是一系列对象,因此您需要使用此格式myJson.features[0].geometry
答案 2 :(得分:0)
您有一系列要素,每个要素都有一个几何体,然后有一个坐标数组。所以你可以像这样访问:
plot(plot)