【问题标题】:leaflet - tile loading - error event传单 - 瓷砖加载 - 错误事件
【发布时间】:2014-08-12 02:54:51
【问题描述】:

我正在使用传单,它显示使用 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 &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);

【问题讨论】:

    标签: leaflet


    【解决方案1】:
    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

    有帮助吗?

    【讨论】:

    • 为我工作,包含在 Leaflet 0.73 中。有趣的是,事件不会一直冒泡到地图,因此您必须将侦听器绑定到图层(如this answer所示)。此外,leafletjs.com/reference.html 上没有记录该事件
    • 似乎添加了tileerror 事件Nov 27, 2013
    猜你喜欢
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多