传单使用按钮从GoeJson中删除功能属性



我有简单的代码,但无法了解如何使其工作。。这个想法是按下";删除";"更改按钮";区域";值为"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;

最新更新