我有简单的代码,但无法了解如何使其工作。。这个想法是按下";删除";"更改按钮";区域";值为"0";0";在GeoJson制作的每个功能中。下面的代码是有效的(但是自动的,没有按钮(,对我来说很清楚:
function onEachFeature(feature, layer) {
feature.properties.area = 'x';
};
但是,当我想开始使用按钮更改值时(我将函数放入OnEachFeature中(,该操作仅适用于geoJson文件中的最后一个功能。。
function onEachFeature(feature, layer) {
function foo(){
feature.properties.area = 'x';
}
document.getElementById('delete').onclick = foo;
};
我的问题是如何使其适用于每个功能(按下按钮->更改区域值(?我将非常感谢你的回答!
GeoJson文件的以下链接:
https://api.npoint.io/2ba17bdbb50601803cd0
您可以使用getLayers获取所有功能,然后更改它们的区域属性:
var geojson = L.geoJSON(data, {
onEachFeature: onEachFeature
}).addTo(map);
function deleteArea() {
var layers = geojson.getLayers();
for (var i = 0; i < layers.length; i++) {
layers[i].feature.properties.area = 0;
}
}
document.getElementById('delete').onclick = deleteArea;