当所有图层都添加到传单地图时回调

Callback when all layer are added to leafletjs map

本文关键字:地图 回调 单地图 图层 添加      更新时间:2023-09-26

>情况:我正在向我的地图添加新的geoJson图层,我想在添加所有标记后对所有标记进行动画处理,每个标记之间略有延迟。该 API 似乎可以执行所有操作,但在添加最后一个标记时提供回调!

示例代码

L.geoJson(data, {      
    onEachFeature: function (feature, layer) {
        console.log(feature, layer);
    }
}).addTo(map);

我想要的是

 L.geoJson(data, {      
    onEachFeature: function (feature, layer) {
        console.log(feature, layer);
    },
    complete:function(layers){
        console.log(layers);
    }
}).addTo(map);

我知道每个层都有一个onAdd事件,但是层组有类似的事件吗?

谢谢

我已经

联系了传单的主要贡献者,没有必要对标准 geojson 层进行回调,你可以这样做;

var layer = L.geoJson(data, {}).addTo(map);
animateMyIconsIn(layer.getLayers()); // your custom function

但是,如果您使用的是 AJAX 插件,则确实需要回调;

//first create the layer
var  layer = L.geoJson.AJAX(url, {});
//then add a listener
layer.on('dataLoadComplete',function(e){
    //finally add the layer
    layer.addTo(map);
    animateMyIconsIn(layer.getLayers()); // your custom function
});

更新的语法目前是"数据:加载",如这篇文章所示;

https://gis.stackexchange.com/questions/271919/how-to-cluster-external-geojson-using-leaflet-ajax-js