Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 瓷砖层装载开始和结束时的传单火灾事件_Javascript_Leaflet - Fatal编程技术网

Javascript 瓷砖层装载开始和结束时的传单火灾事件

Javascript 瓷砖层装载开始和结束时的传单火灾事件,javascript,leaflet,Javascript,Leaflet,在加载L.TileLayer.WMS平铺层时,我使用在地图上显示加载图标,这在缩放或平移地图时效果很好。但是,如果用户在不移动地图的情况下打开WMS平铺层,则不会触发加载图标 传单。装载说明说明说明: 如果希望在其他AJAX请求或 如果发生其他情况[即WMS磁贴层加载],只需在您的计算机上触发dataloading事件即可 开始加载时映射,完成加载时加载数据 如何在WMS瓷砖层加载开始和结束时触发这两个事件 假设您有以下图层实例: var layerInstance = L.tileLayer(

在加载L.TileLayer.WMS平铺层时,我使用在地图上显示加载图标,这在缩放或平移地图时效果很好。但是,如果用户在不移动地图的情况下打开WMS平铺层,则不会触发加载图标

传单。装载说明说明说明:

如果希望在其他AJAX请求或 如果发生其他情况[即WMS磁贴层加载],只需在您的计算机上触发dataloading事件即可 开始加载时映射,完成加载时加载数据


如何在WMS瓷砖层加载开始和结束时触发这两个事件

假设您有以下图层实例:

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);

有关可用的和

完美的,请参阅参考资料,谢谢!如果有很多层可以应用它,那么我可以想象这些函数可以在脚本的前面定义并调用吗?当然可以,我已经编辑了我的答案。可能对其他用户有用。