Saya memiliki L.layerGroup()
yang disebut var stopsLayer
. Saya ingin mengulanginya ketika parameter tertentu telah ditetapkan oleh pengguna dan "menghidupkan" hanya yang cocok dengan input pengguna.
Mengaktifkan penanda menyiratkan itu menunjukkan satu gaya versus default. Metode yang saya miliki untuk mencapai ini ada di bawah.
stopsLayer.eachLayer(function (layer) {
if (parameter === userInput) {
layer.options.icon.options.className = 'icon-on';
} else {
layer.options.icon.options.className = 'icon-off';
}
});
Ini "berfungsi" sejauh itu, jika saya console.log()
setiap penanda dan melihat set className
untuk properti icon
penanda itu, itu telah diperbarui. Sayangnya, perubahan ini tidak tercermin dalam peta itu sendiri.
1 menjawab
Menemukan jawabannya. Saya telah menggunakan setLayer
yang salah. Ada metode yang tersedia yang disebut setIcon
yang tidak didokumentasikan dengan baik.
Saya menemukan JSFiddle yang menunjukkan penggunaannya di sini: http://jsfiddle.net/JYF9u/8/
Itu juga terdaftar sebagai metode di bawah penanda dalam dokumentasi: http://leafletjs.com/reference.html #marker-seticon