Я получил значок, который меняется при нажатии, но мне нужно, чтобы он возвращался к исходному значку (а не оставался новым) при нажатии нового значка.
Например, скажем, все мои значки синие. Когда я нажимаю на значок, я хочу, чтобы он изменился на красный значок. Затем, когда я нажимаю на новый значок, я хочу, чтобы ранее щелкнутый значок снова стал синим.
Я могу заставить его работать с наведением мыши и отключением мыши, но мне действительно нужно, чтобы он работал с щелчком мыши. Я думаю, мне нужно зарегистрировать новую функцию щелчка, но я не уверен, как это сделать.
Вот что у меня есть на данный момент:
function clickFeature(e) {
var layer = e.target;
e.target.setIcon(stop);
info.update(layer.feature.properties);
}
var geojson;
/*function resetHighlight(e) {
geojson.resetStyle(e.target);
e.target.setIcon(arms);
info.update();
}*/
function onEachFeature(feature, layer) {
layer.on({
click: clickFeature
});
}
geojson = L.geoJson(crossingData, {
pointToLayer: function (feature, latlng) {
return L.marker(latlng, {icon: arms});
},
onEachFeature: onEachFeature
}).addTo(map);