Saya memiliki beberapa lapisan dasar, dan perlu mengubahnya secara terprogram, tergantung pada berbagai tindakan dan status dalam aplikasi saya. Tidak dapat menemukan bagaimana, untuk kehidupan saya.
12
Tutorial ini berfungsi sebagai contoh yang baik:
1) Seperti ditunjukkan dalam contoh, atur layer dasar Anda dengan nama variabel yang dapat diakses di fungsi di mana Anda ingin mengubahnya secara terprogram.
var grayscale = L.tileLayer(mapboxUrl, {id: 'MapID', attribution: mapboxAttribution}),
streets = L.tileLayer(mapboxUrl, {id: 'MapID', attribution: mapboxAttribution});
2) Kemudian tambahkan dan hapus layer yang ingin Anda tambahkan atau hapus. Berikut ini swap grayscale
layer untuk streets
layer tersebut. Ini mengasumsikan bahwa keduanya grayscale
dan streets
tersedia dalam lingkup fungsi di mana Anda melakukan peralihan.
map.removeLayer(grayscale);
map.addLayer(streets);
3) Jika Anda menggunakan kontrol lapisan yang L.control.layers
ditunjukkan dalam contoh, maka kontrol melacak apa yang ada di peta, dan mengubah kotak centang yang sesuai.
mapboxUrl
&mapboxAttribution
?Dari /programming//a/33762133/4355695
Saya mencoba dan itu berhasil: Saya tidak perlu repot-repot menghapus baselayer saat ini (atau dengan mencari tahu mana yang aktif dalam hal ini).
myTileLayer.addTo(map)
Kerjanya saja : Jika sudah menjadi bagian dari baselayer saya, maka peta "beralih" ke sana. Secara otomatis menghapus lapisan saat ini dan berubah menjadimyTileLayer
.sumber