2014-06-21 8 views
5

Sto utilizzando un opuscolo che visualizza le tessere offline che sono state create utilizzando Maperitive. Tutto funziona bene, ma qualcuno sa come attivare l'evento di errore nel caso in cui la tessera richiesta non esiste? Nel caso in cui non sia possibile caricare il riquadro richiesto, è possibile specificare un riquadro predefinito.- caricamento delle tessere - evento di errore

che in realtà imposta il riquadro predefinito in caso di errore durante il caricamento del riquadro richiesto. Ma questo non è esattamente ciò di cui ho bisogno. Ne ho bisogno per sparare un evento.

Il codice del volantino è piuttosto semplice.

L.tileLayer('http://{s}.tiles.mapbox.com/v3/MapID/{z}/{x}/{y}.png', { 
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>', 
    maxZoom: 18 
}).addTo(map); 

risposta

8
myLayer.on('tileerror', function(error, tile) { 
    console.log(error); 
    console.log(tile); 
}); 

Rif: https://github.com/Leaflet/Leaflet/blob/v0.7.3/src/layer/tile/TileLayer.js#L581

Aiuta?

+0

Opere per me ed è incluso nel pieghevole 0.73. È interessante notare che l'evento non bolle fino alla mappa, quindi è necessario associare l'ascoltatore al livello (come suggerisce questa risposta). Inoltre, l'evento non è documentato su http://leafletjs.com/reference.html – jxmallett

+0

Sembra che sia stato aggiunto l'evento 'tileerror' [27 novembre 2013] (https://github.com/Leaflet/Leaflet/commit/ 82e43019eecd554d0491747a2ff63a481dfae058 # diff-f1e6be67599c594731fff6191c710420R419) – jxmallett

+0

Grazie FranceImage ... funziona! :-) –

Problemi correlati