繁体   English   中英

将所有图层添加到leafletjs地图时的回调

[英]Callback when all layer are added to leafletjs map

情况:我正在向我的地图添加一个新的 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 事件,但是 layerGroup 有类似的吗?

谢谢

我已经联系了leafletjs的主要贡献者,并且不需要对标准的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM