情况:我正在为地图添加一个新的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事件,但是对于一个图层组是否类似?
由于
答案 0 :(得分:3)
我与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
});
答案 1 :(得分:1)
更新的语法当前是“数据:已加载”,如本文中所见;
https://gis.stackexchange.com/questions/271919/how-to-cluster-external-geojson-using-leaflet-ajax-js