2012-12-31 11 views
10

Tutto, voglio rilevare la selezione del livello utente per sincronizzare la mia barra laterale con i livelli visualizzati.eventi di controllo del livello degli opuscoli?

Ma non vedo alcun evento di controllo del livello nel riferimento API; Come posso sapere quando si è verificata la selezione di questo livello utente?

In alternativa, ho visto il livello caricare e scaricare eventi, ma non vedo alcuna identificazione in ciò che viene restituito. Mi sono perso in qualche modo?

+0

quale tipo di livello? –

risposta

15

Ci sono alcuni eventi che consentono di sapere quando l'utente attiva/desactivates . uno strato

Questo può aiutare:

http://leafletjs.com/reference.html#control-layers-baselayerchange

Ad esempio:

map.on('overlayadd', onOverlayAdd); 

function onOverlayAdd(e){ 
    //do whatever 
} 
+0

Questo lo fa. Grazie! – user1032402

+0

Viene attivato solo quando un utente aggiunge manualmente un livello tramite un controllo o * qualsiasi * ora viene aggiunto un livello, anche automaticamente tramite il codice? – Rikaelus

+0

http://leafletjs.com/reference-1.0.3.html#map-baselayerchange. Aggiornato l'URL di @Adrian Garcia – Greg

2

Si può associare il proprio evento "cambiamento" per gli strati Volantino controllano pulsanti di opzione con jQuery come questo:

$("[name='leaflet-base-layers']").change(function() { 
     alert('Layers selected: ' + $(this).parent().text()); 
    }); 
+0

Speravo di utilizzare il controllo nativo Leaflet, non JQuery, ma sto iniziando a sospettare che non sia possibile. Con quale tipo di strato, sarò soddisfatto di tutto ciò che è disponibile. – user1032402

0

non ho effettivamente provato ad usarlo ancora, ma questo plugin sembra essere molto promettente: https://github.com/vogdb/Leaflet.ActiveLayers

Ho intenzione di fare un tentativo in uno dei miei progetti perché questa è una funzione molto utile.

Problemi correlati