Mengatur layer yang dipilih pada Leaflet/Mapbox L.Control.Layers

Saya memiliki peta dengan beberapa lapisan dasar. Pengguna dapat memilih lapisan dasar dan kemudian menyimpan peta. Setelah menyimpan peta, sistem memuatnya dengan lapisan dasar baru. Lapisan dasar tersebut harus dipilih di kontrol L.Control.Layers. Namun, tidak ada cara di API untuk memilih lapisan dasar.

Adakah yang tahu cara mengatasi ini, atau plug-in lain?


PEMBARUAN: Ini kode yang saya gunakan. MapConfigs memiliki id di MapBox, dan dapat membuat peta yang L.control.layers diperlukan.

var map = L.mapbox.map( components.mapDivId , MapConfigs.idFor(baseLayerName) );    
map.addControl( L.control.layers(
    MapConfigs.toBaseLayersControlMap(map)
).setPosition("topright"));

Terima kasih!


person Michael Bar-Sinai    schedule 07.05.2015    source sumber


Jawaban (1)


Mengapa tidak menyimpan referensi ke semua lapisan dasar yang tersedia dalam hash, lalu gunakan addLayer atau removeLayer (http://leafletjs.com/reference.html#map-addlayer) sesuai kebutuhan untuk memilih lapisan dasar secara terprogram?. Sesuatu seperti di bawah ini.

var tileLayers = {light: L.tileLayer('lightUrl'),dark: L.tileLayer('darkUrl')}
person snkashis    schedule 08.05.2015
comment
Terima kasih - tapi itu tidak termasuk UI dan implementasi untuk antarmuka IControl. Jika belum ada plug-in yang diterapkan, maka cara yang Anda usulkan adalah cara yang tepat. - person Michael Bar-Sinai; 09.05.2015
comment
Ya, tidak diperlukan plugin untuk kontrolnya, sudah ada di dalam inti. Inisiasi peta dengan var map = L.map 'map', {zoomControl:false}, lalu inisiasi Kontrol Lapisan dengan var layersControl = new L.Control.Layers(tileLayers), lalu map.addControl(layersControl) - person snkashis; 10.05.2015
comment
terima kasih @snkashis - tetapi tidak berfungsi... kontrol lapisan yang ditambahkan memiliki lapisan pertama yang ditandai, meskipun itu bukan lapisan dasar aktif di peta. - person Michael Bar-Sinai; 10.05.2015
comment
Mungkinkah Anda memposting beberapa kode Anda di sini sehingga kami dapat melihat alurnya seperti yang Anda miliki? - person snkashis; 11.05.2015