我正在使用传单,它显示使用maperitive创建的离线图块。一切正常,但有人知道如果请求的磁贴不存在,如何触发错误事件?如果无法加载请求的图块,您可以指定默认图块。
var myLayer = new L.TileLayer(..., {errorTileUrl: '/path/to/default/tile.png'});
如果加载请求的磁贴时出错,则实际设置默认磁贴。但这并不是我所需要的。我需要它来发动一个事件。
传单代码本身非常简单。
L.tileLayer('http://{s}.tiles.mapbox.com/v3/MapID/{z}/{x}/{y}.png', {
attribution: 'Map data © <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);
答案 0 :(得分:14)
myLayer.on('tileerror', function(error, tile) {
console.log(error);
console.log(tile);
});
参考:https://github.com/Leaflet/Leaflet/blob/v0.7.3/src/layer/tile/TileLayer.js#L581
有帮助吗?