Ok, karena saya sudah mengajukan pertanyaan yang sangat panjang tentang ini, tetapi karena tidak mendapatkan balasan baru untuk sementara waktu, dan tidak menjadi bingung secara detail, saya akan membuat yang sederhana ini dengan cara terbaik yang saya bisa.
Jika saya tidak salah, setStyle
fungsi untuk nama, fitur tertentu adalah sebagai berikut:
var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];
var rect = L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map);
rect.setStyle({color: "#4B1BDE"});
... yang akan mengubah warna dari oranye ke biru. Saya juga mengetahui resetStyle()
fungsi yang akan mengembalikan gaya ke aslinya.
Ini adalah bagaimana saya mengatur GeoJSON saya:
var everything = L.geoJson(myfile, {
onEachFeature: function(feature){
array_of_layers.addLayer(feature);
},
style: function(feature){
switch(feature.properties.name){
case "belgium": return belgium_style; break;
case "bosnia": return bosnia_style; break;
case "denmark": return denmark_style; break;
case "great_britain": return britain_style; break;
case "greece": return greece_style; break;
case "italy": return italy_style; break;
case "serbia": return serbia_style; break;
case "spain": return spain_style; break;
}
}
});
Yang ingin saya lakukan adalah membuat satu negara menjadi biru dan yang lainnya menjadi abu-abu, kemudian dalam kode. Ini adalah langkah dua langkah, untuk melukis semua negara menjadi abu-abu, dan kemudian membuat satu biru.
Hal pertama adalah, saya perlu loop yang akan beralih ke setiap fitur dan setStyle()
untuk semua negara menjadi abu-abu. Apakah itu berfungsi jika saya hanya everything.setStyle({color: "#4B1BDE"})
atau sesuatu?
Yang kedua adalah, (itu membuat saya tidak bisa tidur malam) bagaimana cara memilih hanya satu fitur dari sekelompok poligon GeoJSON untuk dikerjakan? Hanya negara yang saya butuhkan untuk melukis menjadi biru.
Jika itu masalah mouse yang melayang, saya bisa menempatkan pendengar acara seperti yang dilakukan dalam tutorial Leaflet. Tetapi terlepas dari interaksi pengguna, saya ingin mengatur dan mengatur ulang gaya dengan memanggilnya dengan namanya, seperti yang saya lakukan dengan persegi panjang di atas.
setStyle()
fungsi leaflet .