假设你有以下图层实例:
var layerInstance = L.tileLayer(layerUrl, layerOptions).addTo(mapInstance);
您可以捕获加载和加载事件,然后触发相应的地图事件,如下所示:
layerInstance.on('loading', function (event) {
mapInstance.fireEvent('dataloading', event);
});
layerInstance.on('load', function (event) {
mapInstance.fireEvent('dataload', event);
});
如果您需要在多个层上执行此操作,您也可以分离处理函数:
var loadingHandler = function (event) {
mapInstance.fireEvent('dataloading', event);
};
var loadHandler = function (event) {
mapInstance.fireEvent('dataload', event);
};
layerInstanceFoo.on('loading', loadingHandler);
layerInstanceFoo.on('load', loadHandler);
layerInstanceBar.on('loading', loadingHandler);
layerInstanceBar.on('load', loadHandler);
查看可用的tilelayer events 和fireEvent method 的参考